我很难将我的服务器配置为托管 MVC4 应用程序。这是我的情况:
- 我有 Windows 2003 服务器 SP2
- 到目前为止,我所有托管的应用程序都针对 .NET Framework 3.5,因此使用 ASP .NET 2。我使用单个网站来托管 Web 应用程序
- 现在,我想托管第一个针对 ASP .NET 4 的应用程序
我所做的是:
- 我已经安装了 .NET Framework 4
- 我添加了新的新应用程序池
- 我已将新的虚拟目录添加到我的网站(托管 ASP .NET 2 Web 应用程序的同一网站)并将其转换为 Web 应用程序。接下来,我在 ASP .NET 选项卡上选择了 ASP .NET 版本 4
所以,我认为这就足够了。但是当我使用 root url 访问我的应用程序时,我得到的第一件事是 403。我检查了安全选项,它们似乎没问题。接下来,我尝试访问我的控制器操作之一,例如:
http://servername/home/index
现在我收到 404 错误。好的,所以我启用了文件浏览并尝试访问 web.config,以检查发生了什么,但我收到了错误:
无法加载文件或程序集“System.Core,Version=2.0.5.0,Culture=neutral,PublicKeyToken=7cec85d7bea7798e,Retargetable=Yes”或其依赖项之一。给定的程序集名称或代码库无效。(来自 HRESULT 的异常:0x80131047)
我还运行了 regiis 命令:
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis.exe -s W3SVC/2049612577/root/cip-new/
但还是徒劳。底线,这是错误的,但我不知道发生了什么。
编辑1:
我做了一些测试。我所做的是,我从基本模板创建了一个基本的 MVC4 应用程序,并将它简单地发布到服务器。它奏效了。但是,当我将它发布到服务器到同一目录时,我收到了错误:
应用程序启动前初始化方法 Run on type WebActivator.ActivationManager 引发异常并显示以下错误消息:无法加载文件或程序集 'System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes ' 或其依赖项之一。给定的程序集名称或代码库无效。(来自 HRESULT 的异常:0x80131047)。]