Nat*_*ini 41 .net .net-core dotnet-cli
我有一个简单的.NET Core项目(控制台应用程序),我正在尝试编译和运行.dotnet build成功,但是当我这样做时,我收到以下错误dotnet run:
? dotnet run
Project RazorPrecompiler (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation.
A fatal error was encountered. The library 'hostpolicy.dll' required to execute the application was not found in [path].
Run Code Online (Sandbox Code Playgroud)
我的project.json看起来像这样:
{
"buildOptions": {
"warningsAsErrors": true
},
"dependencies": {
"Microsoft.AspNetCore.Razor": "1.0.0",
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
},
"description": "Precompiles Razor views.",
"frameworks": {
"netcoreapp1.0": {
"imports": [ ]
}
},
"version": "1.2.0"
}
Run Code Online (Sandbox Code Playgroud)
什么是hostpolicy.dll,为什么它会丢失?
Sol*_*eil 28
dotnet core 2.0的更新:文件appname.runtimeconfig.json(用于调试和发布配置)需要与appname.dll在同一路径中.
它包含:
{
"runtimeOptions": {
"tfm": "netcoreapp2.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "2.0.0"
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后dotnet.exe exec "path/to/appname.dll" [appargs]工作.
Jer*_*ers 20
我在 .NET 6.0 中发生过这种情况,不知何故该appname.runtimeconfig.dev.json文件没有在bin/Debug/net6.0/目录中生成。
修复方法是修改.csproj文件并将此片段包含在 <PropertyGroup>元素内:
<GenerateRuntimeConfigDevFile>true</GenerateRuntimeConfigDevFile>
Run Code Online (Sandbox Code Playgroud)
我在使用https://www.google.com/search?q=net60+runtimeconfig.dev.json进行搜索时发现了此解决方案,网址为“重大更改:runtimeconfig.dev.json 文件未生成 - .NET | Microsoft Learn与Microsoft.NET.Sdk - .NET 的 MSBuild 属性中的解决方案 微软学习:
生成运行时配置开发文件
从 .NET 6 SDK 开始,编译时默认情况下不再生成[Appname].runtimesettings.dev.json文件。如果您仍希望生成此文件,请将属性设置为。
GenerateRuntimeConfigDevFiletrueRun Code Online (Sandbox Code Playgroud)<PropertyGroup> <GenerateRuntimeConfigDevFile>true</GenerateRuntimeConfigDevFile> </PropertyGroup>
将其应用到.csproj文件并重新构建项目后,从 Visual Studio Code 进行调试工作正常,包括在我之前设置的断点处停止。
Nat*_*ini 19
此错误消息无益.在实际的问题是缺少emitEntryPoint属性:
"buildOptions": {
...
"emitEntryPoint": true
},
Run Code Online (Sandbox Code Playgroud)
添加完成后,编译器会告诉您任何其他问题(比如缺少static void Main()方法).成功编译项目将导致dotnet run可以执行的输出.
小智 8
我在 VS19 中运行测试时遇到类似的问题。
==========开始试运行==========
Testhost 进程退出并出现错误:遇到致命错误。在“C:\Program Files\dotnet”中找不到执行应用程序所需的库“hostpolicy.dll”。无法作为独立应用程序运行。
经过深入研究,我找到了问题的根源:
测试二进制文件夹中的完整路径\<my module\>.runtimeconfig.json超过 255 个字符。重命名模块,使文件路径变短,解决了问题。
| 归档时间: |
|
| 查看次数: |
39582 次 |
| 最近记录: |