6

如几个问题中所述(Windows Server 2012 上注册 ASP.NET 4.5 的替代方案Server 2012 IIS 8 MVC 应用程序显示默认 IIS 主页或 403 / 404 错误IIS8 上的 WCF;*.svc 处理程序映射不起作用) ,在 Windows Service 2012 上,该aspnet_regiis -ir命令不再起作用,而是产生以下输出:

此版本的操作系统不支持此选项。管理员应该使用“打开/关闭 Windows 功能”对话框、服务器管理器管理工具或 dism.exe 命令行工具来安装/卸载带有 IIS8 的 ASP.NET 4.5。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkID=216771

在我们的例子中,我们只想运行这个命令来重新注册 ASP.NET 4.5,因为其他一些安装取消了它:已经安装了 ASP.NET 4.5。

使用 UI(添加/删除角色/功能),受参考帖子的启发,我发现删除 WCF 的 HTTP 激活功能然后再次添加就足够了。(但我需要卸载/重新安装恰好依赖于 WCF HTTP 激活的功能......)

问题:如何通过 Windows Server 2012 上的命令行完成相同的操作?

(我看了看这个dism.exe东西,但它看起来令人生畏,dism.exe -?对我一点帮助都没有。)

谢谢!

4

3 回答 3

4

Dism 是最好的方法:

Dism /online /Disable-Feature /FeatureName:WCF-HTTP-Activation45
Dism /online /Enable-Feature /FeatureName:WCF-HTTP-Activation45

启用时使用 /all 开关以启用所有父功能。

于 2015-04-22T22:13:00.657 回答
3

当您在已安装 .NET 框架 4.5 版本的 Windows 2012 或 2012 R2 服务器上安装 .NET 3.5 over CLR 2.0 的 .NET 框架核心功能(包括 HTTP 激活)时,似乎会发生此错误。

在我们的案例中,建议的修复不起作用。

我们有一个显示错误的 CLR 4.0 网站:

Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'

删除和重新添加 ASP.NET 4.5 功能没有任何区别。

我们必须使用 DISM 删除并重新添加 3.5 功能:

Dism /online /Disable-Feature /FeatureName:WCF-HTTP-Activation
Dism /online /Enable-Feature /FeatureName:WCF-HTTP-Activation

您还可以使用 PowerShell:

Remove-WindowsFeature -Name NET-HTTP-Activation
Add-WindowsFeature -Name NET-HTTP-Activation
于 2016-02-01T12:02:52.550 回答
0

您需要使用服务器管理器仪表板来添加/删除角色/功能。查找 IIS-->WebServer-->应用程序开发--> ASP.NET 4.5

于 2013-07-11T09:05:24.960 回答