我刚刚将我的网站从MVC 4更新为MVC 5.
现在,当我想在我的网络服务器而不是我的开发机器上运行它时,它不起作用。
它认为这是因为我需要在服务器上安装MVC 5库但我找不到它们。
我下载了WebMatrix 3,希望它能提供一种安装方式,但它只能让我安装MVC 4。
我应该安装什么才能运行ASP.NET MVC 5应用程序?
(不安装Visual Studio 2013)
修改 我禁用了自定义错误和我的错误:
Could not load file or assembly 'System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
编辑2: 我发现问题是由于我的一个依赖项使用了剃刀版本2.0.0.0。
答案 0 :(得分:15)
部署应用时,请确保将所有程序集部署到 bin 文件夹中的生产环境中。 ASP.NET MVC是一个xCopy部署,因此您不必安装任何东西。
您可能想要检查您的生产环境是否已注册ASP.NET 4.0和4.5。
答案 1 :(得分:3)
MVC5和未来版本的MVC并不需要安装在Windows Server上。 MVC5应用程序包含所有内容。你并不需要任何东西来安装它。
服务器上需要的是您在应用中使用的每个库和程序集的副本。为了解决这个问题,请确保您的bin文件夹上的所有内容在服务器上都是相同的,而不是服务器正在寻找它自己的GAC,以便在您的应用中使用。
如果您没有找到所有软件包,那么您可以通过cmd在服务器上安装nuget软件包。
答案 2 :(得分:2)
最好是发布,在解决方案资源管理器中右键单击您的项目,然后选择“发布”。基本上它会编译你的解决方案并将所有程序集/工件转储到你的web服务器,ftp或本地文件夹。
答案 3 :(得分:0)
确保将所有程序集引用复制到部署目录。为此,您可以更改<参考...> .project文件中的标记。 (可选)您可以使用visual studio的属性设置器将每个dll引用的“Copy Local”属性设置为“True”。