.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的引用并不能解决问题。 有小费吗?

这是最简单的解决方案:

  1. 在Cortana中搜索Programs and Features以打开旧版控制面板的已安装应用程序列表。
  2. 找到并单击Microsfot .NET Core 1.0.0 - VS 2015 Tooling ...的条目Microsfot .NET Core 1.0.0 - VS 2015 Tooling ...
    • 我的版本是“预览2”…虽然如果他们不解决这个问题,你可能会有更新的版本
  3. 单击更改。
  4. 单击修复。

这个问题的根源似乎是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