ASP.NET MVC UI项目+核心项目拆分

时间:2012-01-03 09:28:45

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-2

我见过使用UI项目和代码项目讨论MVC项目结构。 e.g。

http://lostechies.com/jimmybogard/2009/12/09/organizing-asp-net-mvc-solutions/ http://stackoverflow.com/questions/4357911/an-ideal-folder-structure-for-net-mvc

我尝试在Visual Web Developer 2010 Express中执行此操作,但我仍然在UI项目中拥有以下非网站相关文件:.csproj,.csproj.user,项目dll文件和项目pdb文件。

这就失去了目的,因为分成两个项目的目的是让UI足够干净,直接作为网站运行,而不必过滤掉不必要的文件。

  • 我将原始项目复制到同一解决方案中包含的第二个项目中
  • 我从第一个项目中删除了代码文件,使其成为UI项目
  • 我从第二个项目中删除了UI文件,使其成为代码项目
  • 我在UI项目中添加了对代码项目的引用。

我做错了吗?或者这是这种方法的局限性?

任何可能有助于我使这种配置正常工作的其他细节将不胜感激。

1 个答案:

答案 0 :(得分:2)

将项目分成单独的核心+ UI项目的原因是干净地分离源代码问题。

您提及的两个文件CSPROJ和CSPROJ.USER文件仅适用于VWD。它们不是源代码,在发布项目时不会部署。

其他2个文件,核心DLL和核心PDB,分别是运行时程序集和调试文件。您的UI项目需要对这些项目的引用,以便能够运行编写并编译到核心项目中的代码。

因此,在UI项目的bin文件夹中使用Core.dll和Cord.pdb是可以的,并且不违反SoC。 csproj文件与代码无关,它们只在那里,以便VWD可以管理项目。