我正在为 MacOS (osx-x64) 和 Windows (win-x64) 构建单个文件可执行文件。
我的命令行是:
dotnet 发布 --nologo -r osx-x64 -c Release /p:PublishSingleFile=true /p:PublishTrimmed=true
当迁移到 .Net 5 时,我现在收到此错误:
/usr/local/share/dotnet/sdk/5.0.100-preview.7.20366.6/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(142,5):错误NETSDK1097:不是支持将应用程序发布到单个文件而不指定运行时标识符。您必须指定 RuntimeIdentifier 或将 PublishSingleFile 设置为 false。
所以我决定添加 RuntimeIdentifier 部分:
<RuntimeIdentifiers>osx-x64;win-x64</RuntimeIdentifiers>
Run Code Online (Sandbox Code Playgroud)
事实证明,这需要在每个子项目中......有点烦人,但没关系。
但现在,它不起作用:
发布到单个文件的应用程序需要使用应用程序主机。您必须将 PublishSingleFile 设置为 false 或将 UseAppHost 设置为 true。
另外,如果我在命令行上添加所有内容:
dotnet 发布 --nologo -c Release /p:PublishSingleFile=true /p:PublishTrimmed=true /p:UseAppHost=true /p:RuntimeIdentifier=osx-x64 -r osx-x64
我犯了同样的错误。看起来 dotnet 命令行上的配置被忽略了。
将运行时标识符添加到所有项目文件中,会产生:
错误 MSB6006:“dotnet”退出,代码为 1。
这并没有说明什么。
我的问题是:
.NET 5 的行为是否发生了变化(我找不到有关该主题的任何内容),或者预览是否已损坏?
| 归档时间: |
|
| 查看次数: |
1035 次 |
| 最近记录: |