当我将mvc应用程序部署到我的IIS 7服务器时,它在web.config文件中有以下内容:
<system.web>
<compilation targetFramework="4.5.1" />
<httpRuntime targetFramework="4.5.1" />
</system.web>
编辑和编辑httpRuntime标签给出了以下错误:
解析器错误消息:&#39; targetFramework&#39; Web.config文件元素中的属性仅用于目标4.0版及更高版本的.NET Framework(例如,&#39;&#39;)。 &#39; targetFramework&#39;属性当前引用的版本晚于安装的.NET Framework版本。指定.NET Framework的有效目标版本,或安装所需的.NET Framework版本。
所以只是为了咯咯笑,我删除了编辑和放大httpRuntime标签,然后网站工作完美!服务器上有4.5.1。我猜测这是应用程序池的一部分,但看起来应用程序池中的唯一选项是:No Managed Code,.NET Framework v2.0,.Net Framework v4.0。 v4.5或v4.5.1没有选项。现在它已设置为v4.0。
我没有真正理解编译和httpRuntime的用途以及为什么它们甚至在我的web.config中,因为我没有明确地将它们放在那里。
答案 0 :(得分:6)
Microsoft更新.NET Framework有两种方法:
这意味着当您安装.NET 4.5时,v4.0文件夹刚刚更新为包含.NET 4.5文件。
IIS仅显示并排版本,而不是增强功能。由于4.5是增强功能,因此它适用于v4.0的framework文件夹。这也解释了为什么你只在.NET应用程序池中看到.NET Framework v2.0和.Net Framework v4.0作为选项。
至于targetFramework
属性,它仅在框架4.0中被识别,而不是之前的。
targetFramework
属性有两个效果:删除属性确实解决了您的问题,但这不是最健康的事情。我认为你应该检查服务器的注册表,看看服务器上安装了哪些框架更新,检查网站是否也配置为适用于框架4.
答案 1 :(得分:3)
您只需要在IIS 7.5服务器中将.NET框架升级到版本4.5,使用服务器上的 Microsoft Web安装程序软件执行搜索.NET,然后安装。 NET框架版本4.5以及针对该版本的所有应用程序都可以使用
答案 2 :(得分:0)
我的问题是,在设置网站时,我网站的&gt; NET版本默认为2.0。 将其更改为4.0并且网站正常工作