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

时间:2010-03-18 12:09:34

标签: asp.net-mvc web-applications repository

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

  • 核心(它应该用于存储库,业务类,模型,HttpModules,HttpFilters,设置等)。
  • 数据访问(数据提供程序,例如用于处理SQL Server数据存储区的SqlDataProvider - 实现Repository接口,XmlDataProvider - 也实现Repository接口,但对于本地XML文件作为数据存储区)
  • ASP.NET MVC项目(所有典型的东西,UI,控制器,内容,脚本,资源和帮助程序)。

我的ASP.NET MVC项目中没有模型。我刚遇到问题,因为我想在我的Business类中使用MVC 2中的新DataAnnotation功能,正如 Core 中所述,但是我希望能够本地化错误消息。我的问题开始了。我无法在核心中使用MVC项目中的资源。 MVC项目引用了Core,反之亦然。

我看到的选项是: 1)移出资源,但这需要纠正我引用它们的一大堆视图和控制器, 2)对我的应用进行全面重组

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

建议表示赞赏。

1 个答案:

答案 0 :(得分:2)

把它扔进一条大的.csproj船上并使用文件夹来分隔东西。它比单独的项目更容易导航文件夹。您不必一直打击命名空间,一切都是正确的,如果您期望它。你完全消除任何.sln功夫,当事情不在正确的位置或组件需要被引用时你可以花费更多时间编码而不是移动.sln位。

有些人说这会让“换掉实施”变得更加困难。交换文件夹的内容就像交换项目一样简单。

MVC来源让我喜欢这种方法。它们将所有内容展平,并且很容易在源代码中游动。