ASP.NET 4.5在Web服务器上未注册。

182
在我的Win 7开发机上,为了使用SQL Express实例而不是默认安装的localDB。我在我的MVC 4项目属性页面(Web选项卡)中取消了“使用IIS Express”的勾选,然后我得到了以下错误:

ASP.NET 4.5没有在Web服务器上注册。您需要手动配置您的Web服务器以便正确运行您的站点。

我验证了IIS功能中是否激活了ASP.NET。

请问如何解决这个问题?


只是为了其他人来这里:您还需要通过将targetFramework="4.5"属性添加到<compilation>元素来调整您的web.config文件。 - Uwe Keim
19个回答

217

也许您需要在 Visual Studio 工具 命令提示符中执行以下操作:

aspnet_regiis -i

你可以在这里了解有关ASP.NET IIS注册工具(Aspnet_regiis.exe)的更多信息。


2
aspnet_regiis -i 不被识别为内部命令,这是返回的错误消息。 - Sami-L
33
我已解决了问题,我以管理员身份运行了Visual Studio开发者命令提示符,然后启动了C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis -i。 - Sami-L
28
@Sami-L 重要提示:在安装新操作系统时,实际上没有必要使用VS cmd(您可能没有它)。您只需要一个命令行(cmd),并从最新的.Net框架库中运行aspnet_regiis命令:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe /i - i3arnon
2
今天(2015年)的问题很可能是在这个答案中提到的错误:https://dev59.com/2GYr5IYBdhLWcg3wW45t#30352820 - Göran Roseen
24
对于Visual Studio 2012,您实际上需要从这里下载更新程序来修复它:https://support.microsoft.com/zh-cn/kb/3002339 - Sameer Alibhai
显示剩余6条评论

107

在 Windows 8.1 上,由于 .NET 4.5 已内置,修复方法是从管理员命令提示符中运行以下命令:

dism.exe /Online /Enable-Feature /all /FeatureName:IIS-ASPNET45

1
“/all”是必需的吗?在这里:http://support.microsoft.com/kb/2736284,他们没有指明… - CITBL
5
根据Windows 8.1上的dism命令行,/all会自动启用父级功能。在这种情况下,如果不指定/all,它特别提到了NetFx4Extended-ASPNET45和IIS-NetFxExtensibility45。 - NYCdotNet
1
它显示错误:87,并给出一个消息,表示该功能未知。怎么办? - Sooraj
已修复在Windows 2012上使用IIS8的问题。 - Jason Massey

68

3
终于找到答案了!这是我升级到 Windows 10 后发生的。谢谢。 - Michael Aguilar
2
当我在电脑上添加了VS 2015,而我仍然有2012时,这种情况发生在我身上。 - SubqueryCrunch
这个问题在 Windows 10 上使用 .NET 4.6 和 VS 2012 已经得到解决。 - Steven
2
这是我的问题原因。请注意,更新4已不再是最新的更新。 - Peter Morris
2
非常感谢你,你救了我的一天。我没有显式安装 .Net Framework 4.6。我所做的是安装了 Visual Studio 2015,这导致隐式安装了 .Net Framework 4.6。在安装了 VS 2015 后,我在 VS 2013 中打开了一个现有的解决方案(该解决方案仅在 VS 2013 中创建),结果出现了 asp.net 4.5 未注册的错误。更有趣的是,此 MSDN 博客页面上的“下载 Visual Studio 2013 更新 4”链接会带您转到 VS 2013 更新 5 的下载页面。我只安装了更新 5,问题就解决了。 - RBT

10

对于Windows 8客户端计算机,需要在“Internet Information Services-> World Wide Web服务->应用程序开发功能->ASP.NET 4.5”下,在“打开/关闭Windows功能”中启用“IIS-ASPNET45”。


这与运行以下命令相同:dism.exe /Online /Enable-Feature /all /FeatureName:IIS-ASPNET45 - Miros

9

.Net Framework会覆盖4.0文件夹,因此请执行以下命令:

将 .Net Framework 注册到IIS中,请转到
开始 -> 运行 -> cmd -> 以管理员身份运行 输入命令:

cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
aspnet_regiis.exe -i

4

简而言之,点击“确定”按钮即可解决问题,之后一切都会正常工作。

我也收到了这个错误信息。

为 ASP.NET 4.5 配置 Web http://localhost:xxxxx/ 失败。你必须手动配置此站点以便它能够正确运行。Web 服务器上未注册 ASP.NET 4.0。你需要手动配置 Web 服务器以便你的站点能够正确运行。

环境:Windows 10、IIS8、VS 2012 Web。

在找到这个页面后,除了几个看起来比较繁琐的解决方案外,我还阅读了此处建议的https://support.microsoft.com/en-us/help/3002339/unexpected-dialog-box-appears-when-you-open-projects-in-visual-studio中的热修复选项。

请避免采取任何过于激进的行动,并注意该页面标注为“解决方法”的部分,如下所示:

解决方法


要解决此问题,请单击“确定”按钮,以便在创建新项目或打开现有 Web 站点项目或 Windows Azure 项目后出现对话框。 这样做之后,项目将按预期工作

换句话说,只需在对话框中单击一次“确定”按钮,该消息就会永久消失。项目将正常工作。


4

通过VS更新解决了这个问题。

按照此链接操作 (https://blogs.msdn.microsoft.com/webdev/2014/11/11/dialog-box-may-be-displayed-to-users-when-opening-projects-in-microsoft-visual-studio-after-installation-of-microsoft-net-framework-4-6/)

解决方法: 微软已经为所有受到影响的Visual Studio版本发布了修复程序。

Visual Studio 2013 –

下载Visual Studio 2013 Update 4 有关Visual Studio 2013 Update 4的更多信息,请参见:Visual Studio 2013 Update 4 KB文章 Visual Studio 2012

针对Microsoft Visual Studio 2012,已发布了一项更新以解决此问题:KB3002339 要直接从Microsoft下载中心安装此更新,请单击此处 Visual Studio 2010 SP1

针对Microsoft Visual Studio 2010 SP1,已发布了一项更新以解决此问题:KB3002340 此更新可从Windows Update获得 要直接从Microsoft下载中心安装此更新,请单击此处


1
类似地,Microsoft Visual Studio 2013 更新5也为我解决了这个问题 https://www.microsoft.com/en-us/download/details.aspx?id=48129 - Darren Alfonso
+1 包括参考链接和包含实际修复的文本片段(这样答案就可以经受时间的考验,一旦 URL 链接失效)。 - Jeff Mergler

3

无需键入c:\

开始 -> 运行 -> cmd -> 以管理员身份运行并执行以下命令


.NET Framework版本4(32位系统)

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

.NET Framework版本4(64位系统)

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

或者使用Visual Studio工具中的命令提示符: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Visual Studio 2012\Visual Studio Tools>VS2012 x86 Native Tools Command Prompt

版本可能会有所不同.. 希望这可以帮助到您。


2

失效的链接,它会引发“403禁止访问”错误。 - Jeff Mergler

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接