"The library 'hostpolicy.dll' required" 如果 运行 来自部署文件夹,但 emitEntryPoint 为真

"The library 'hostpolicy.dll' required" if run from deploy folder, but emitEntryPoint is true

我使用默认 ASP.NET 核心 Web 应用程序 (.NET Framework) 模板创建了一个 Web API 项目,然后使用 VS 将其发布到本地文件夹。

现在,如果我在控制台中调用 dotnet application.exe,我会收到以下错误:

A fatal error was encountered. The library 'hostpolicy.dll' required to execute the application was not found

我在 github 上的这个 and this issue 中发现,实际问题是缺少 emitEntryPoint 属性。一切都很好,除了我的 project.json 已经有 "emitEntryPoint": true

还有什么可能导致此错误?

一旦您发布应用程序并拥有 .exe 文件,您就不需要再使用 dotnet。应用程序已编译!

只需 运行 application.exe 双击它,或从控制台启动它。

我们 运行 在 CI 中构建我们的应用程序时遇到了同样的问题。 Appa运行只是对另一个 unittest 项目的引用滑入。这造成了手头的错误。

确保在服务器中安装正确版本的 ASP Net Core。

这里是下载link:

https://dotnet.microsoft.com/download/dotnet-core