代码之家  ›  专栏  ›  技术社区  ›  Alexander

如何在ASP.NET中分离模型、视图和控制器。NET MVC应用程序转换为不同的程序集

  •  12
  • Alexander  · 技术社区  · 17 年前

    目前,我正试图进入ASP。NET MVC框架。
    对于我的大多数测试应用程序,我使用了一个程序集/项目。这对于一些较小的应用程序来说效果很好。然后我想知道如何将模型、控制器和视图类放置到单独的程序集中?在真正的大型web应用程序中,将所有内容放在一个程序集/项目中是不太现实的。

    所以我的问题是:有没有可能告诉ASP。NET MVC框架在另一个程序集中搜索视图和/或控制器,而不会失去路由引擎的内置灵活性?

    5 回复  |  直到 15 年前
        1
  •  6
  •   David    17 年前

    MyProject.BaseSite (class library)
        + Controllers
            - HomeController.cs
            - ... any other controllers
        - default.aspx.cs
        - global.asax.cs
    

    MyProject.ExampleSite
        + Content
            + scripts
            + css
            + images
        + Views
            + Home
                - index.aspx
                - .. other aspx files
            + Shared
                - Site.master
        - web.config
    

        2
  •  2
  •   James    17 年前

    为每一层职责创建一个单独的类库项目,编译以创建程序集,然后在适当的情况下在应用程序中引用每一层。

        3
  •  1
  •   Colin Desmond    17 年前

    dependency injection 容器,那么它们的配置数据通常不仅指定要响应特定查询加载的类,还指定要从中加载的程序集。这允许您在任意程序集中拆分类,MVC仍然能够找到它们。

        4
  •  1
  •   Dustin Davis    16 年前

    我意识到这是一个非常古老的问题,但我写了一篇关于如何准确满足你要求的文章

    http://dotnetslackers.com/articles/aspnet/storing-asp-net-mvc-controllers-views-in-separate-assemblies.aspx

        5
  •  0
  •   Leonel Sanches da Silva    12 年前

    如果您的项目由以下人员管理 NuGet packages.config 将文件保存到类库根目录。之后,您应该编辑每个 packages.config 根据每个类库的需要添加或删除文件包。

    推荐文章