.net core 用.NET 5.0编写的控制台应用程序无法在同事';s计算机

.net core 用.NET 5.0编写的控制台应用程序无法在同事';s计算机,.net-core,windows-10,console-application,.net-5,.net Core,Windows 10,Console Application,.net 5,我在.NET5.0中编写了一个工具,现在我必须将它交给非开发人员使用。不幸的是,无论我如何发布,我都无法让它在她的电脑上运行。目前我将其设置为: 配置:释放|任何CPU 目标框架:net5.0 部署模式:自包含 目标运行时:win-x64(经检查,她肯定拥有64位Windows 10) 但当她在电脑上运行时,她得到: Failed to load the dll from [C:\Users\username\Desktop\Release Builder\hostfxr.dll], HRESU

我在.NET5.0中编写了一个工具,现在我必须将它交给非开发人员使用。不幸的是,无论我如何发布,我都无法让它在她的电脑上运行。目前我将其设置为:

配置:释放|任何CPU
目标框架:net5.0
部署模式:自包含
目标运行时:win-x64(经检查,她肯定拥有64位Windows 10)

但当她在电脑上运行时,她得到:

Failed to load the dll from [C:\Users\username\Desktop\Release Builder\hostfxr.dll], HRESULT: 0x800700C1
The library hostfxr.dll was found, but loading it from C:\Users\username\Desktop\Release Builder\hostfxr.dll failed
  - Installing .NET prerequisites might help resolve this problem.
     https://go.microsoft.com/fwlink/?linkid=798306
一、 当然,检查了链接,她已经超过了Windows 10的最低版本。有什么好处?我习惯于为自己构建web应用程序或只是构建控制台工具。我认为自给自足意味着只需移交发布文件夹的内容


我应该指出,发布文件夹似乎是正确的。。。里面有超过230个文件。

你能用这些设置发布吗

步骤1:

步骤2:打开你的
.csproj
并添加这些,或者与你的进行交换

  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net5.0-windows</TargetFramework>
    <PublishReadyToRun>true</PublishReadyToRun>
    <PublishSingleFile>true</PublishSingleFile>
    <IncludeAllContentForSelfExtract>true</IncludeAllContentForSelfExtract>
    <RuntimeIdentifier>win-x64</RuntimeIdentifier>
    <UseWPF>true</UseWPF>
    // keep other info
  </PropertyGroup>

温克斯
net5.0-windows
真的
真的
真的
win-x64
真的
//保留其他信息

检查项目XML是否与我上面所说的匹配(我现在看到,我应该重新格式化,以便更容易阅读),我发布了一个解决方案。它对我有用。我希望它对你也有用。我试过单文件。。。。还没有准备好跑步。我会看看今天下午我能不能进入她的电脑,如果能修好,我会回到这里让你知道!已启用ReadyToRun编译。这就解决了!非常感谢!我不知道为什么我一开始没有尝试“ReadyToRun”,因为事后看来,这个名字有点暗示它已经准备好运行了。。。