.Net MVC 4项目因事件日志错误而失败“模块DLL C:\ WINDOWS \ system32 \ inetsrv \ aspnetcore.dll无法加载。 数据是错误的。”
这不是DotNetCore项目(它是一个MVC 4项目),并且应用程序池已正确配置为使用dotnet CLR v4,但在更新到新版本的Windows 10(无论是内部构建还是新周年更新)之后,启动应用程序失败,事件日志显示以下错误:
模块DLL C:\ WINDOWS \ system32 \ inetsrv \ aspnetcore.dll无法加载。 数据是错误的。
我还没有任何aspnetcore.dll的需要。 在IIS中删除对站点的DLL的引用并不能解决问题。 有小费吗?
这是最简单的解决方案:
- 在Cortana中搜索
Programs and Features
以打开旧版控制面板的已安装应用程序列表。 - 找到并单击
Microsfot .NET Core 1.0.0 - VS 2015 Tooling ...
的条目Microsfot .NET Core 1.0.0 - VS 2015 Tooling ...
- 我的版本是“预览2”…虽然如果他们不解决这个问题,你可能会有更新的版本
- 单击更改。
- 单击修复。
这个问题的根源似乎是Windows 10的构建升级过程,它重新安装IIS …当它将所有站点设置复制到新的applicationHost.config时,它似乎打破了任何非标准模块你以前安装过。 例如,同样的问题也会影响URL Rewrite 2模块(通过运行修复也可以修复)。
希望微软的团队能够在构建更新之间维护IIS配置,这将有机会解决这个问题(他们在这里跟踪github上的这个错误)。 在此之前,您必须在安装任何新的Windows版本后进行此修复。
更新:此错误已在Windows 10 Insider Build 15002中修复 ,并将于2017年4月11日作为Windows 10 Creators Update的一部分发布。因此,一旦您通过执行上述步骤解决了这个问题,您就不应该使用下一个主要的Windows 10更新再次遇到它。
下载DotNetCore.1.0.0.RC2-SDK.Preview1-x64.exe,执行并卸载。 之后,转到程序和functione修复Microsoft.NET Core 1.0.0 RC2 – VS 2015工具预览1.为我工作。
我也遇到了同样的问题。 作为解决方法,我在应用程序池中将启用32位应用程序标记为false 。
有关详细信息,请查看以下链接https://github.com/aspnet/Home/issues/1583