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

一个ASP.NET MVC应用程序有多个VS项目吗?

  •  1
  • mare  · 技术社区  · 15 年前

    我正在开发MVC应用程序,目前我有3个解决方案项目。

    • 核心 (应该用于存储库、业务类、模型、httpmodules、httpfilters、设置等)
    • 数据访问 (数据提供程序,例如用于处理SQL Server数据存储的sqldataProvider-实现存储库接口,xmldataProvider-也实现存储库接口,但用于作为数据存储的本地XML文件)
    • ASP.NET MVC项目 (所有典型的东西、用户界面、控制器、内容、脚本、资源和助手)。

    我的ASP.NET MVC项目中没有模型。 由于这个原因,我遇到了一个问题,因为我想在我的商务类中使用MVC 2中的新dataAnnotation特性,如中所述。 核心 但是,我希望能够本地化错误消息。这就是我的问题开始的地方。我不能用我的 资源 来自MVC项目 核心 . MVC项目引用了核心,而它不能反之亦然。

    我的选择是: 1)将资源移出,但这需要在引用它们的位置更正一大堆视图和控制器, 2)对我的应用程序进行彻底的重组

    你对此有何看法?另外,我是否应该将所有与业务相关的内容都移到MVC项目的Models文件夹中??这样的结构是否有意义,因为我们可以为MVC项目下的所有内容创建子文件夹?整个核心库并不打算用于任何其他用途,因此实际上没有必要将其编译为单独的dll。

    感谢您的建议。

    1 回复  |  直到 15 年前
        1
  •  2
  •   John Farrell    15 年前

    把它们都扔到一个大的.csproj船上,用文件夹把它们分开。浏览文件夹比单独的项目容易得多。您不必一直与名称空间作斗争,如果您希望的话,一切都是正确的。当事情不对劲的时候,你完全消除了任何一门功夫。需要参考正确的地点或集合,你可以花 更多时间编码 而不是移动。

    一些人说,这使得“交换一个实现”变得更加困难,这是胡扯。交换文件夹的内容和交换项目一样简单。

    MVC源代码正是我喜欢这种方法的原因。它们把所有的东西都展平了,很容易在源代码周围游动。