在我安装了 4.0.3 的服务器上部署 MVC 4.5.1 时出现目标框架错误

问题描述 投票:0回答:2

我的 windows server 2008 R2 当前安装了 .NET framework v4.0.3x。

我有一个 ASP.NET MVC 4.5.1 应用程序,当我部署时出现以下错误:

The 'targetFramework' attribute in the <compilation> element of the Web.config file is used only to target version 4.0 and later of the .NET Framework (for example, '<compilation targetFramework="4.0">'). The 'targetFramework' attribute currently references a version that is later than the installed version of the .NET Framework. Specify a valid target version of the .NET Framework, or install the required version of the .NET Framework.

Source Error: 


Line 37:   </appSettings>
Line 38:   <system.web>
Line 39:     <compilation debug="true" targetFramework="4.5.1" />
Line 40:     <httpRuntime targetFramework="4.5.1" />
Line 41:     <pages> 

我需要在服务器上安装一些东西还是我没有在我的 /bin 文件夹中部署正确的 dll 的问题?

我安装了 IIS 7.5.7x。

c# asp.net-mvc iis-7
2个回答
0
投票

您需要在您的服务器上安装当前的.Net Framework。在此之后它应该可以工作,因为 IIS 在 4.0 和 4.5 之间没有区别。此外,您需要在 IIS 管理中选择正确的目标框架。

就是这样做的。


0
投票

您看到的错误消息表明您的 Web.config 文件中元素的 targetFramework 属性中指定的 .NET Framework 版本高于安装在服务器上的 .NET Framework 版本。

在您的情况下,您的 Web.config 文件指定 targetFramework="4.5.1",这需要在服务器上安装 .NET Framework 4.5.1。但是,您提到您的服务器安装了 .NET Framework 4.0.3x。

要解决此问题,您有几种选择:

更新服务器上的 .NET Framework:您可以在服务器上下载并安装 .NET Framework 4.5.1 或更高版本,以匹配 Web.config 文件中指定的版本。

更改 Web.config 文件中的 targetFramework 属性:如果您无法更新服务器上的 .NET Framework,您可以将 Web.config 文件中的 targetFramework 属性更改为 .NET Framework 支持的版本安装在您的服务器上。例如,您可以将其更改为 targetFramework="4.0" 以定位 .NET Framework 4.0.

使用不同的服务器:如果更新 .NET Framework 或更改 targetFramework 属性不可行,您可以考虑将应用程序部署到安装了所需版本的 .NET Framework 的不同服务器。

除了 .NET Framework 版本,您还应确保已将所有必需的 DLL 部署到您的 /bin 文件夹中,以便您的 ASP.NET MVC 应用程序正常运行。您可以使用 ILSpy 或 Reflector 等工具检查应用程序的程序集版本和依赖项。

© www.soinside.com 2019 - 2024. All rights reserved.