使用 ASP.NET Core MVC Web 应用程序,有没有办法在 64 位(或 AnyCPU)模式下运行 Kestrel Web 服务器?如果我将应用程序的目标平台从默认的 x86 更改为 x64 或 AnyCPU,它将不再运行,并在尝试启动 Kestrel (Microsoft.AspNetCore.Server.Kestrel) 时产生 System.BadImageFormatException。
ETA:为了进一步调查,我反编译了 Microsoft.AspNetCore.Server.Kestrel。它是为 AnyCPU 构建的,但似乎包含 MSIL 和 libuv 库的本机 x86 代码的混合,该库是用 C 编写的。目前尚不清楚为什么加载它的唯一方法是从为 x86 构建的程序集中,同时具有 AnyCPU 和x64 产生“坏图像”错误。人们期望能够从另一个 AnyCPU 程序集加载一个 AnyCPU 程序集,但事实并非如此。令人费解的是,AnyCPU 程序集会包含一些本机 x86。