首页 文章

库'hostpolicy.dll'需要执行该应用程序

提问于
浏览
1

添加log4net后,我通过dotnet命令在发布中得到以下错误消息(IIS给出500错误) .

遇到致命错误 . 'MonPath'中找不到执行应用程序所需的库'hostpolicy.dll'

框架:.Net CoreApp 1.1

在调试模式下通过VS2017,应用程序正在运行 .

在我的.csproj中:

PackageReference Include =“Microsoft.NETCore.DotNetHostPolicy”Version =“1.1.2”PackageReference Include =“Microsoft.AspNetCore”Version =“1.1.2”TargetFramework netcoreapp1.1

我已经为project.json找到了这个解决方案,但是如何将它应用到.csproj?

“compilationOptions”:{“emitEntryPoint”:true}

3 回答

  • 3

    在VS2015中无法发现或执行单元测试时遇到类似问题 . 如果我在CMD提示符中运行命令,则会得到与上面相同的错误 .

    无法在互联网上找到一个解决方案花了一天时间才发现我需要将以下内容放在project.json文件中

    "runtimeOptions": {
      "framework": {
        "name": "Microsoft.NETCore.App",
        "version": "1.0.0"
      }
    },
    

    这导致在应用程序的构建的Debug目录中创建 .runtimeconfig.json文件 .

    这一切都是因为我安装了DotNetCore 2 Preview .

    把它放在这里是因为它是谷歌搜索中最受欢迎的第二个,希望有需要的人会发现 .

  • 0

    我好像是一个.net核心版本问题 . 在VS项目自动升级到.NET Core 1.1.2后,我在 生产环境 服务器上遇到了同样的问题 .

    我只是在我的 生产环境 服务器上安装了1.1.2 .net核心运行时:https://www.microsoft.com/net/download/core#/runtime

  • 0

    对于最新的csproj格式(vs 2017),您需要在csproj文件中添加RuntimeIdentifier元素:

    <RuntimeIdentifiers>win10-x64;osx.10.11-x64;ubuntu.16.04-x64</RuntimeIdentifiers>
    

    要么

    <RuntimeIdentifier>win7-x86</RuntimeIdentifier>
    

    顺便说一下,您可能需要恢复nuget包以避免project.assets.json中的断言错误ASP.NET Core Application (.NET Framework) for Windows x64 only error in project.assets.json

相关问题