Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET MVC 5 web.config<;系统.web>;编辑及;httpRuntime错误_C#_Asp.net Mvc_Web Config - Fatal编程技术网

C# ASP.NET MVC 5 web.config<;系统.web>;编辑及;httpRuntime错误

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文件元素中的

将mvc应用程序部署到IIS 7服务器时,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一样
这意味着当您安装.NET 4.5时,v4.0文件夹刚刚更新为包含.NET 4.5文件

IIS只显示并排发布,而不显示增强。因为4.5是一个增强,所以它应用于v4.0的框架文件夹。这也解释了为什么在IIS应用程序池下只将.NET Framework v2.0和.NET Framework v4.0视为选项

至于
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和现场工程