用 .NET 5.0 编写的控制台应用程序无法 运行 在同事的计算机上
Console Application written in .NET 5.0 unable to run on colleague's computer
我在工作中使用 .NET 5.0 编写了一个工具,现在我必须将其提供给非开发人员使用。不幸的是,无论我如何发布它,我都无法在她的计算机上将其发送到 运行。目前我将其设置为:
配置: 发布 |任意 CPU
目标框架:net5.0
部署模式:自包含
目标运行时间: win-x64(检查过,她肯定有Windows 10 64位)
但是当她 运行 将它放在她的 PC 上时,她得到:
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
我当然检查了 link 并且她有高于 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>
我在工作中使用 .NET 5.0 编写了一个工具,现在我必须将其提供给非开发人员使用。不幸的是,无论我如何发布它,我都无法在她的计算机上将其发送到 运行。目前我将其设置为:
配置: 发布 |任意 CPU
目标框架:net5.0
部署模式:自包含
目标运行时间: win-x64(检查过,她肯定有Windows 10 64位)
但是当她 运行 将它放在她的 PC 上时,她得到:
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
我当然检查了 link 并且她有高于 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>