添加log4net后,我在发布时通过dotnet命令得出以下错误消息(IIS发出500错误)。
遇到致命错误。该库' hostpolicy.dll'在MonPath'
中找不到执行应用程序所需的操作
框架:.Net CoreApp 1.1
在VS2017的调试模式下,应用程序正在运行。
在我的.csproj中:
PackageReference Include =" Microsoft.NETCore.DotNetHostPolicy"版本=" 1.1.2" PackageReference Include =" Microsoft.AspNetCore"版本=" 1.1.2" TargetFramework netcoreapp1.1
我为project.json找到了这个解决方案,但是如何将它应用到.csproj?
" compilationOptions":{ " emitEntryPoint":true }
答案 0 :(得分:3)
在VS2015中无法发现或执行单元测试时遇到类似问题。如果我在CMD提示符中运行命令,则会得到与上面相同的错误。
无法在互联网上找到解决方案花了一天时间才发现我需要将以下内容放在project.json文件中
"runtimeOptions": {
"framework": {
"name": "Microsoft.NETCore.App",
"version": "1.0.0"
}
},
这会导致在应用程序的构建的Debug目录中创建{app} .runtimeconfig.json文件。
这一切都是因为我安装了DotNetCore 2 Preview。
将此置于此处是因为它是谷歌搜索中最受欢迎的第二名,希望有需要的人能够找到它。
答案 1 :(得分:0)
我好像是.net核心版本问题。在我的VS项目自动升级到.NET Core 1.1.2后,我在生产服务器上遇到了同样的问题。
我只是在我的生产服务器上安装了1.1.2 .net核心运行时:https://www.microsoft.com/net/download/core#/runtime
答案 2 :(得分: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
答案 3 :(得分:0)
尝试从路径中运行.exe时出现此错误:
[myProjectPath]\obj\Debug\netcoreapp3.1
代替路径:
[myProjectPath]\bin\Debug\netcoreapp3.1
以防万一有人犯同样的错误。
答案 4 :(得分:0)