IIS 管理器无法在 .NET 4 应用程序上配置 .NET 编译

Posted

技术标签:

【中文标题】IIS 管理器无法在 .NET 4 应用程序上配置 .NET 编译【英文标题】:IIS Manager can't configure .NET Compilation on .NET 4 Applications 【发布时间】:2011-04-13 21:44:19 【问题描述】:

我尝试在 IIS 管理器中配置 .NET 编译设置,但我看到的只是一条错误消息,告诉我 C:\windows\Microsoft.NET\Framework64\v.4.0.30319\config\ 中的 web.config 文件中有一个无法识别的元素。

对我来说有点奇怪的是,我在 Windows 7 系统和 Windows Server 2008 R2 上都收到此错误消息。

虽然谷歌搜索了一下,但我发现的只是这个博客条目http://olegtarasov.me/2010/09/nastrojka-iis-7-5-i-asp-net-4/。 我尝试了aspnet_regiis -i -enable 命令,但这不是我的解决方案。

【问题讨论】:

什么是无法识别的元素? 无法识别的元素是“folderLevelBuildProviders” 【参考方案1】:

对于我的 x64 Win7 机器,执行以下命令:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319> aspnet_regiis -i -enable

【讨论】:

【参考方案2】:

我必须使用下面的命令才能让它工作。更多详情见http://support.microsoft.com/kb/2015129

aspnet_regiis.exe /iru

当我使用 aspnet_regiis.exe -iru(使用连字符而不是正斜杠)时,它什么也没做。见下文。

【讨论】:

【参考方案3】:

是的,它奏效了。准确的说:

aspnet_regiis -iru

正如斯科特所说:

If you are already in this state, drop to the command line and navigate to the FX install directory.  Then run "aspnet_regiis –iru". 
    Note if you are on a 64-bit machine, run this command from the 64-bit FX install directory – not the 32-bit installation directory.

【讨论】:

【参考方案4】:

好的,我知道了。

问题是,我的系统是 64 位系统,而我调用的 aspnet_regiis 是 32 位版本。从 Framework64 目录调用 aspnet_regiis 后一切正常。

感谢 Scott Hanselman http://www.hanselman.com/blog/ASPNET4BreakingChangesAndStuffToBeAwareOf.aspx

【讨论】:

优秀...非常感谢。我花了一段时间才弄清楚该怎么做。但是如果你遇到这个问题。打开 cmd 提示符,在提示符下导航到 C:\Windows\Microsoft.NET\Framework64\v4.0.30319 目录,然后运行上述命令。还有 viola,然后您可以访问 .net 编译设置。 是的!感谢一万亿! "如果您先安装 VS2010 和/或 .NET 4,然后再安装 IIS,您需要确保将 IIS 配置为了解 ASP.NET 4,否则 IIS 将不知道如何运行 ASP .NET 4 应用程序。”是的!这个命令解决了这个问题。

以上是关于IIS 管理器无法在 .NET 4 应用程序上配置 .NET 编译的主要内容,如果未能解决你的问题,请参考以下文章

如何将c#做好的asp.net网站部署到iis上

windows Server2012 IIS配置安装

没有为请求的 URL 配置默认文档,并且没有在服务器上启用目录浏览。如何解决???

没有为请求的 URL 配置默认文档,并且没有在服务器上启用目录浏览?求解

是否可以通过 IIS 管理器中的用户界面在 web.config ASP .Net Web 应用程序中的 <system.Servicemodel> 中查看/编辑 WCF 配置?

IIS 的 PHP 管理器无法安装