.NET Core RC2 applicationhost.config与ASP.NET .NET 4.6不兼容?

cro*_*sek 6 asp.net iis-express asp.net-core .net-core-rc2

给出包含两个网站的解决方案:

1)基于.NET 4.61的ASP.NET

2).NET Core RC2

启动iisexpress for(2)后,MSVS更新applicationhost.config以包含一些看似与(1)不兼容的额外行.直到iisexpress首次关闭然后尝试启动(1)才会注意到这一点.

不兼容的行是:

<section name="aspNetCore" overrideModeDefault="Allow" />

<add name="AspNetCoreModule" image="C:\Program Files (x86)\Microsoft Web Tools\AspNetCoreModule\aspnetcore.dll" />

<add name="AspNetCoreModule" />
Run Code Online (Sandbox Code Playgroud)

启动(1)时,会出现一个对话框,指出"IISExpress无法启动"并写入一个事件:

由于配置问题,无法加载模块DLL"C:\ Program Files(x86)\ Microsoft Web Tools\AspNetCoreModule\aspnetcore.dll".当前配置仅支持加载为AMD64处理器体系结构构建的映像.数据字段包含错误编号.要了解有关此问题的详细信息,包括如何解决此类处理器体系结构不匹配错误,请参阅http://go.microsoft.com/fwlink/?LinkId=29349.

可能的解决方案?

A)在启动之前删除多余的行(1),如何自动实现?

B)为每个网站使用不同的applicationhost.config,是否有环境变量来设置它?

C)直接修复事件日志中报告的问题.不知何故,它在启动.NET Core RC2站点时起作用,这很奇怪.

D)使用恰好位于不同目录中的单独解决方案文件.这是不可取的,因为它是一个相当复杂的解决方案.

use*_*771 8

如果您使用混合.NET Core RC2和ASP.NET <5项目创建解决方案,然后升级到.NET Core 1.0,则会出现类似的问题.ASP.NET项目将不再运行.

要修复,请删除.vs\config\applicationhost.config并卸载并重新加载项目/解决方案以强制VS正确地重新生成它.NET Core 1.0设置,然后将运行任何遗留的.NET内容.

当我尝试在VS中运行IIS Express时,我还想出了事件查看器记录运行IIS Express的确切命令行,因此您可以抓住它并将其粘贴在命令提示符中以从IIS Express中获取错误输出,特别是如果有的话事件查看器中没有错误本身.