我想知道是否有人深入了解为什么必须在Visual Studio中创建ASP.NET MVC站点作为Web应用程序(编译为单个.dll)而不是网站(每个页面都是.dll) )?我怀疑它与路由有关。有什么想法吗?
答案 0 :(得分:1)
Web应用程序有一个.csproj文件,与Web站点项目相比,它可以更好地控制构建过程,而Web站点项目实际上只是一组文件和文件夹,其构建完全由VS IDE管理,就我而言我知道。
您可能对路由有所了解,但另一个可能的原因与项目结构以及MVC应用程序项目与其测试项目之间的关系有关。
Web应用程序和Web站点之间的主要区别之一是Web站点是一个standalobe实体,它不存在于难以表达测试项目与应用程序项目的关系的解决方案中,而如果使用Web应用程序,那么网站及其测试可以被视为一个通用解决方案中的两个项目,同时还可以获得使用MSBuild的所有好处
答案 1 :(得分:0)
好的,我想出来了。 ASP.NET MVC应用程序是Web应用程序而不是Web站点的唯一原因与单元测试有关。您可以将ASP.NET MVC应用程序“转换”为几乎没有变化的网站,但单元测试不起作用,因为它们没有引用该网站。但是,如果您开始将应用程序逻辑(控制器等)放入单独的类库中,然后在网站和单元测试中引用该类库,我非常确定您可以使单元测试工作。