7

我刚刚将一个网站上传到我的服务器。而且在本地也能完美运行,但是我上传后,在线版本显示如下:

配置错误描述:运行过程中发生错误
处理服务此请求所需的配置文件。
请查看下面的具体错误详细信息并修改您的
适当的配置文件。

 解析器错误消息:无法识别的属性“targetFramework”。笔记
该属性名称区分大小写。

源错误:



第 37 行:</buildProviders>
第 38 行:</编译>
第 39 行:<httpRuntime targetFramework="4.0"
encoderType="System.Web.Security.AntiXss.AntiXssEncoder, System.Web,
版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a" />
第 40 行:<machineKey compatibilityMode="Framework45" />
第 41 行:</system.web>


 源文件:D:\HostingSpaces\o\o.com.au\wwwroot\web.config 行:
39


-------------------------------------------------- ------------------------------
版本信息:Microsoft .NET Framework 版本:4.0.30319;
ASP.NET 版本:4.0.30319.272

根据此站点上的其他答案,这是因为服务器上的帐户设置为使用 .NET Framework 2.0。但我的情况并非如此,我确保它设置为 4.0,我什至尝试了 4.0 集成。但它仍然显示此错误。

这可能是什么原因造成的?我该如何解决?

在此处输入图像描述

4

4 回答 4

18

该应用程序正在尝试使用 ASP.NET 4.5 的新功能(特别是<httpRuntime><machineKey>元素),但服务器只有 ASP.NET 4.0。从 Web.config 中删除<httpRuntime><machineKey>元素以解决问题。

(有趣的事实:该<httpRuntime/targetFramework>属性直到 4.5 才存在。所以即使值显示为“4.0”,服务器仍然失败,因为它根本不希望看到这个属性

于 2012-08-22T00:02:50.333 回答
10

可以通过转到 IIS,单击应用程序池并将版本设置为 4.0(集成)(运行站点的版本)来解决此问题。接受的答案说 HttpRunTime/targetFrameWork> 直到 4.5 才存在。这是不正确的。作为参考,这是HttpRuntime V2 DocTargetFrameWork是版本 4 的新内容。

OP 问题中的问题是,他将站点的 .NET 版本设置为 4,但在远程服务器上,2.0 正在运行,因此出现错误。在这种情况下,由于他无法控制远程服务器(假设),将 .NET 版本在本地更改为 2.0 将解决问题,而无需摆弄 web.config。

于 2014-01-14T21:57:37.323 回答
4

我认为您在 IIS 中的应用程序池设置不正确,您必须将您的应用程序池设置为 ASP.NET v4.0。

希望这有帮助

于 2017-11-27T06:52:11.917 回答
0

就我而言,这个解决方案与我的服务器上没有 ASP.NET 4 无关。我的服务器位于负载平衡器上,网站文件位于分布式文件系统上。我需要使用有效的用户名和密码连接到 DFS。完成此操作后,我不再看到错误。但是,如果您遇到此问题,请先检查其他解决方案。我会说,如果您看到此错误,那么十有八九会出现 NET Framework 不在服务器上或未为应用程序池指定的情况。

于 2014-11-12T19:36:57.143 回答