C# ASP.NET MVC 5 web.config<;系统.web>;编辑及;httpRuntime错误
将mvc应用程序部署到IIS 7服务器时,web.config文件中包含以下内容:C# ASP.NET MVC 5 web.config<;系统.web>;编辑及;httpRuntime错误,c#,asp.net-mvc,web-config,C#,Asp.net Mvc,Web Config,将mvc应用程序部署到IIS 7服务器时,web.config文件中包含以下内容: <system.web> <compilation targetFramework="4.5.1" /> <httpRuntime targetFramework="4.5.1" /> </system.web> 将compilation&httpRuntime标记置于中会导致以下错误: 解析器错误消息:Web.config文件元素中的
<system.web>
<compilation targetFramework="4.5.1" />
<httpRuntime targetFramework="4.5.1" />
</system.web>
将compilation&httpRuntime标记置于中会导致以下错误:
解析器错误消息:Web.config文件元素中的“targetFramework”属性仅用于针对.NET Framework的4.0及更高版本(例如“”)。“targetFramework”属性当前引用的版本高于.NET Framework的已安装版本。指定有效的.NET Framework目标版本,或安装所需的.NET Framework版本。
所以,为了好玩,我删除了compilation&httpRuntime标签,然后这些网站就完美地工作了!服务器上有4.5.1版本。我猜这与应用程序池有关,但应用程序池中似乎只有以下选项:无托管代码、.NET Framework v2.0、.NET Framework v4.0。v4.5或v4.5.1没有选项。现在它被设置为v4.0
我真的不明白编译和httpRuntime用于什么,为什么它们甚至出现在我的web.config中,因为我没有明确地将它们放在那里。Microsoft Update.NET Framework有两种方法:
- 并排发布,就像v1.1、2.0、4
- 增强,就像3,3.5,4.5一样
targetFramework
属性,它只在framework4.0中被识别,而不是之前的版本
targetFramework
属性有两种效果:
- 它控制公共语言运行库的怪癖模式行为
- 它是一个快捷方式,允许ASP.NET运行时推断大量配置设置
删除属性确实解决了您的问题,但这不是最健康的做法。我认为您应该检查服务器的注册表,服务器上安装了哪些框架更新,检查网站是否也配置为适用于framework 4。您只需在IIS 7.5服务器中将.NET framework升级到4.5版即可。您可以使用服务器上的Microsoft web installer软件来执行此操作。搜索.NET,然后安装.NET framework 4.5版和所有针对该版本的应用程序版本将起作用我的问题是,在设置网站时,>NET版本for me网站默认为2.0。 将其更改为4.0和现场工程