Asp.net mvc 为什么ASP.NET MVC必须是一个web应用程序?

Asp.net mvc 为什么ASP.NET MVC必须是一个web应用程序?,asp.net-mvc,Asp.net Mvc,我想知道是否有人了解为什么ASP.NET MVC站点必须在Visual Studio中创建为web应用程序(编译为单个.dll),而不是web站点(每个页面都是.dll)?我怀疑这与路线有关。有什么想法吗?据我所知,Web应用程序有一个.csproj文件,与网站项目相比,它可以更好地控制构建过程,而网站项目实际上只是一组文件和文件夹,构建完全由VS IDE管理 关于路由,您可能是对的,但另一个可能的原因与项目结构以及MVC应用程序项目与其测试项目之间的关系有关 Web应用程序和Web站点之间的一

我想知道是否有人了解为什么ASP.NET MVC站点必须在Visual Studio中创建为web应用程序(编译为单个.dll),而不是web站点(每个页面都是.dll)?我怀疑这与路线有关。有什么想法吗?

据我所知,Web应用程序有一个.csproj文件,与网站项目相比,它可以更好地控制构建过程,而网站项目实际上只是一组文件和文件夹,构建完全由VS IDE管理

关于路由,您可能是对的,但另一个可能的原因与项目结构以及MVC应用程序项目与其测试项目之间的关系有关


Web应用程序和Web站点之间的一个关键区别是Web站点是一个独立的实体,它不存在于解决方案中,这使得很难表达测试项目与应用程序项目之间的关系,然而,如果使用web应用程序,则可以将网站及其测试视为一个公共解决方案中的两个项目,同时还可以获得使用MSBuild的所有好处web应用程序有一个.csproj文件,与实际上只是一组据我所知,构建完全由VS IDE管理的文件和文件夹

关于路由,您可能是对的,但另一个可能的原因与项目结构以及MVC应用程序项目与其测试项目之间的关系有关


Web应用程序和Web站点之间的一个关键区别是Web站点是一个独立的实体,它不存在于解决方案中,这使得很难表达测试项目与应用程序项目之间的关系,然而,如果使用web应用程序,那么web站点及其测试可以被视为一个公共解决方案中的两个项目,同时还可以获得使用MSBuild的所有好处好的,我发现了这一点。ASP.NET MVC应用程序是Web应用程序而不是网站的唯一原因与单元测试有关。您可以将ASP.NET MVC应用程序“转换”到一个网站,只需进行很少的更改,但是单元测试无法工作,因为它们没有对该网站的引用。但是,我非常确定,如果您开始将应用程序逻辑(控制器等)拉入一个单独的类库,然后在网站和单元测试中引用该类库,那么单元测试就可以正常工作。

好的,我已经解决了这个问题。ASP.NET MVC应用程序是Web应用程序而不是网站的唯一原因与单元测试有关。您可以将ASP.NET MVC应用程序“转换”到一个网站,只需进行很少的更改,但是单元测试无法工作,因为它们没有对该网站的引用。但是,我非常确信,如果您开始将应用程序逻辑(控制器等)拉入一个单独的类库,然后在网站和单元测试中引用该类库,那么单元测试就可以正常工作。

web应用程序也只是创建一个类库程序集,很容易引用,然而,web项目只有ASP.NET动态创建的程序集--这些程序集在每次重新加载时都会更改名称,因此很难使用。web应用程序也只创建一个类库程序集,很容易引用,而web项目只有ASP.NET动态创建的程序集,这些程序集在每次重新加载时都会更改名称,因此很难使用。