Asp.net mvc 3 部署所需的Asp.net mvc文件不是';在开发过程中,在项目中没有参考

Asp.net mvc 3 部署所需的Asp.net mvc文件不是';在开发过程中,在项目中没有参考,asp.net-mvc-3,Asp.net Mvc 3,在阅读了很多关于部署的文章之后,我对这个过程有点困惑 所有文章都引用了Asp.net mvc项目中未引用的DLL。DLL如下所示: Microsoft.Web.Infrastructure.dll System.Web.Razor.dll System.Web.WebPages.Deployment.dll System.Web.WebPages.Razor.dll 我根据asp.net网站上的教程创建了这个应用程序,它在visual studio中运行良好。在这个项目中,没有引用上述给定的

在阅读了很多关于部署的文章之后,我对这个过程有点困惑

所有文章都引用了Asp.net mvc项目中未引用的DLL。DLL如下所示:

  • Microsoft.Web.Infrastructure.dll
  • System.Web.Razor.dll
  • System.Web.WebPages.Deployment.dll
  • System.Web.WebPages.Razor.dll
我根据asp.net网站上的教程创建了这个应用程序,它在visual studio中运行良好。在这个项目中,没有引用上述给定的组件(甚至没有razor,但我只使用razor引擎)


那么,如果我的项目在运行时没有首先引用上述文件,为什么要将这些文件添加到bin目录中呢。如果您已安装ASP.NET MVC 3,则它们将在GAC中注册(请参见此处:)

如果没有(例如,如果您使用的是未安装ASP.NET MVC 3的共享主机),则需要按以下说明进行bin部署:


请参阅第二个链接以实际执行部署。第一个链接更多用于背景阅读。

这些程序集需要以某种方式可用。如果您已安装ASP.NET MVC 3,则它们将在GAC中注册(请参见此处:)

如果没有(例如,如果您使用的是未安装ASP.NET MVC 3的共享主机),则需要按以下说明进行bin部署:


请参阅第二个链接以实际执行部署。第一个链接更多的是背景阅读。

我说的是发展。我没有在VS中添加它们作为引用,在创建Asp.net模板时,VS本身也没有添加它们。你的意思是说,VS不需要你为这些文件添加引用,它们会自动引用到文档中吗。如果它们安装在全局程序集缓存中,则不需要引用。简而言之,它会自动尝试在
bin
目录中找到它们,然后在
GAC
中找到它们。在您的开发机器上,它总是在
GAC
中找到它们。但不是在你的生产服务器上。我说的是开发。我没有在VS中添加它们作为引用,在创建Asp.net模板时,VS本身也没有添加它们。你的意思是说,VS不需要你为这些文件添加引用,它们会自动引用到文档中吗。如果它们安装在全局程序集缓存中,则不需要引用。简而言之,它会自动尝试在
bin
目录中找到它们,然后在
GAC
中找到它们。在您的开发机器上,它总是在
GAC
中找到它们。但不是在生产服务器上。