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

标签 asp.net asp.net-core iis-express .net-core-rc2

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

1) 基于 .NET 4.61 的 ASP.NET

2) .NET 核心 RC2

为 (2) 启动 iisexpress 后,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" />

启动 (1) 时,会出现一个对话框,说明“IISExpress 启动失败”并写入一个事件:

The Module DLL 'C:\Program Files (x86)\Microsoft Web Tools\AspNetCoreModule\aspnetcore.dll' could not be loaded due to a configuration problem. The current configuration only supports loading images built for a AMD64 processor architecture. The data field contains the error number. To learn more about this issue, including how to troubleshooting this kind of processor architecture mismatch error, see http://go.microsoft.com/fwlink/?LinkId=29349.



可能的解决方案?

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

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

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

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

最佳答案

如果您使用混合的 .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 获取错误输出,如果有事件查看器中没有错误本身。

关于asp.net - .NET Core RC2 applicationhost.config 与 ASP.NET .NET 4.6 不兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37495024/

相关文章:

asp.net-core - 如何将 AspNetCore 从 2.2.0 更新到 2.2.2

visual-studio - 每次运行我的测试解决方案时,Visual Studio 2013 都会崩溃并重新启动

angularjs - 如何在 https 中在 angularjs 上发帖

c# - 多个范围的 ASP.NET Core ClaimsAuthorizationRequirement 未按预期工作?

session-state - IIS Express 不保留 session 数据

c# - 缓存数据;网络

c# - asp.net:response.redirect 上的 session 清除?

c# - HTML Firefox 表格对齐问题

asp.net - 无法在 signalr 中调用 javascript 客户端方法

javascript - 用于验证 ASP.NET 数据注释中格式化货币最小值的正则表达式