Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc ASP.NET MVC用户界面项目&x2B;核心项目拆分_Asp.net Mvc_Asp.net Mvc 3_Asp.net Mvc 2 - Fatal编程技术网

Asp.net mvc ASP.NET MVC用户界面项目&x2B;核心项目拆分

Asp.net mvc ASP.NET MVC用户界面项目&x2B;核心项目拆分,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-2,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 2,我已经看到讨论了使用UI项目和代码项目的MVC项目结构。e、 g 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项目和代码项目的MVC项目结构。e、 g

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文件,使其成为代码项目
  • 我在UI项目中添加了对代码项目的引用
我做错了吗?或者这是这种方法的局限性


任何可能帮助我实现此配置的其他细节都将不胜感激。

将一个项目划分为单独的核心+UI项目的原因是为了清晰地分离源代码关注点

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

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


因此,将Core.dll和Cord.pdb放在UI项目的bin文件夹中是可以的,并且不会违反SoC。csproj文件与代码无关,它们的存在只是为了让VWD能够管理项目

对不起,我刚才提到的DLL/PDB文件是UI项目,它实际上没有代码,但仍然生成3KB的DLL。关于VWD项目文件,是的,我理解,我只是习惯了另一种打开网站项目的方式,其中项目文件存储在网站外部。如果您的UI项目是MVC3项目,它会生成代码。请参阅global.asax文件。这被编译到您的UI的dll中。我将global.asax.cs移到了核心项目,这意味着它是核心dll的一部分,在UI项目中只剩下global.asax本身,它只有一行-这还会进一步编译吗?此外,制作一个简单的web应用程序项目并删除其中的所有内容(包括引用和属性)仍然编译为3KB的文件,运行站点不需要该文件。我想我可以将bin路径设置在web目录之外,以避免使用不必要的DLL。我终于找到了一个例子,它看起来和我的一样——当时一定做得很好