在 IIS 7.5 中注册 .NET Framework 4.5
Posted
技术标签:
【中文标题】在 IIS 7.5 中注册 .NET Framework 4.5【英文标题】:Register .NET Framework 4.5 in IIS 7.5 【发布时间】:2014-06-04 03:40:24 【问题描述】:拼图:
Windows 7 .NET Framework 4.5(已安装) IIS 7(版本 7.5.7600.16385) Visual Studio(2013 年终极版) MVC4(解决方案中的多个项目)我在 Visual Studio 中运行的解决方案可以使用 IISExpress 按预期运行。
为了设置我的站点以使用 IIS,我尝试了以下步骤:
-
右键单击解决方案中当前由 IISExpress 托管的项目。
点击属性。
将服务器下拉菜单从 IISExpress 切换到本地 IIS
尝试构建/运行应用程序
此时,我收到 HTTP 500.21
错误。
我也尝试使用 Visual Studio 的命令提示符(以管理员身份)运行 aspnet_regiis.exe -i
,但每次运行命令时,都会收到以下错误:
命令“aspnet_regiis.exe”无效。
我还确认我确实安装了正确的aspnet_regiis.exe
(通过检查here)(.NET Framework 版本 4(64 位系统))。
需要做什么?
【问题讨论】:
我在安装 VS2015 CTP 后也遇到了这个问题。对我来说,解决方法是卸载 CTP,以及它带来的 .NET 预览版。然后我重新安装了 .NET 4.5.1,消息消失了。 【参考方案1】:您可以在以下目录中找到 aspnet_regiis:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319
转到目录并在那里运行命令表单。我猜你的 PATH 变量中缺少路径。
【讨论】:
根据我原始帖子中的link,我已经知道我拥有正确版本的 aspnet_regiis.exe 但是文档没有明确说明(如果有的话) state 是您(@peer)在您的回复中解释的内容。我的解决方法是 1) 以管理员身份打开 cmd。 2)cd \Windows\Microsoft.NET\Framework64\v4.0.30319
3)aspnet_regiis.exe -i
。很好,谢谢!【参考方案2】:
在本地 IIS 上托管 asp.net 4.5/4.5.1 Web 应用程序 1)确定 IIS 安装在 Visual Installation Installataion 然后 aspnet_regiis 将已经注册到 IIS
如果不安装 IIS 然后通过 cmd Editor 向 IIS 注册 aspnet_regiis
对于 VS2012 和 32 位操作系统,在命令编辑器上运行以下代码:
1)先安装IIS,再安装
2)
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
C:\Windows\Microsoft.NET\Framework\v4.0.30319> aspnet_regiis -i
对于 VS2012 和 64 位操作系统,命令编辑器上的代码如下:
1)先安装IIS,再安装
2)
cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319
C:\Windows\Microsoft.NET\Framework64\v4.0.30319> aspnet_regiis -i
按照上述步骤,在 IIS 中注册的 VS2012 的当前版本 托管(VS2012 Web APP)
创建 VS2012 Web 应用程序(WebForm/MVC) 然后构建应用程序 右键单击 WebApplication(WebForm/MVC) 转到“属性” 单击“Web”选项卡,然后单击“使用本地 IIS Web 服务器” 然后取消选中“使用 IIS Express” (如果 Visul Studio 2013 从下拉列表中选择“本地 IIS”) 提供项目 URL,例如“http://localhost/MvcDemoApp” 然后单击“创建虚拟目录”按钮 然后通过 Prssing 'Window + R' 运行命令打开 IIS 并键入 'inetmgr' 和 'Enter' (或 'OK' 按钮) 然后展开您成功托管的“站点->默认网站”。 如果仍然出现任何服务器错误 比如“找不到资源”。 然后在 web.config 中包含以下代码
<configuration>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"></modules>
And Run Application
如果仍然出现问题 通过以下方式检查应用程序池:在 iis 中右键单击应用程序->管理应用程序->高级设置->常规。您会看到应用程序池。 然后关闭高级设置窗口。 单击“应用程序池”,您将在中间窗口中看到所有应用程序池。 右键单击托管应用程序的应用程序池(DefaultAppPool)。 单击“基本设置”-> 将 .Net FrameWork 版本更改为->.Net FrameWork v4.0.30349
【讨论】:
【参考方案3】:对于 Windows 8 和 Windows Server 2012,请使用 dism /online /enable-feature /featurename:IIS-ASPNET45
作为管理命令提示符。
【讨论】:
不是答案,但很有帮助。 如果要查询当前状态,请这样做:dism /Online /Get-FeatureInfo /featurename:IIS-ASPNET45
【参考方案4】:
我两次陷入这种混乱,经过长时间的努力搜索并遵循其他人所做的一切,对我来说绝对没有任何效果,只能在 Windows 7 机器上卸载并重新安装 IIS,然后在 Windows server 2012 R2 上重新安装。
【讨论】:
感谢您的提示,但原帖并未使用或提及 Windows Server 2012 R2。【参考方案5】:使用 .NET3.5 解决类似问题。
【讨论】:
这不会尝试解决 OP 询问的问题。以上是关于在 IIS 7.5 中注册 .NET Framework 4.5的主要内容,如果未能解决你的问题,请参考以下文章
在 IIS 7.5 中托管的 .Net Remoting 服务中,如何删除“Server : IIS/7.5”标记表单响应头
ASP.Net MVC 3/4 托管在 IIS 7.5 默认处理程序映射上
如何将超过 2Gb 的文件上传到 IIS 7.5 / .Net 4?