微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从.Net Core 3移至.Net 5时,错误NETSDK1097请求RuntimeIdentifier

如何解决从.Net Core 3移至.Net 5时,错误NETSDK1097请求RuntimeIdentifier

我正在为MacOS(osx-x64)和Windows(win-x64)构建单个文件可执行文件

我的命令行是:

dotnet发布--nologo -r osx-x64 -c版本/ 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的单个文件。你必须 指定一个RuntimeIdentifier或将PublishSingleFile设置为false。

所以我决定添加RuntimeIdentifier部分:

<RuntimeIdentifiers>osx-x64;win-x64</RuntimeIdentifiers>

事实证明,这需要在每个子项目中..有点烦,但是还可以。

但是现在,它不起作用:

发布到单个文件的应用程序是使用应用程序主机所必需的。您必须将PublishSingleFile设置为false或将UseAppHost设置为true。

此外,如果我在命令行上全部添加

dotnet发布--nologo -c版本/ p:PublishSingleFile = true / p:PublishTrimmed = true / p:UseAppHost = true / p:RuntimeIdentifier = osx-x64 -r osx-x64

我得到同样的错误。好像dotnet命令行上的配置被忽略了。

将运行时标识符添加到所有项目文件中,将产生:

错误MSB6006:“ dotnet”以代码1退出

什么都没说。

我的问题是:

.NET 5的行为是否已更改(我在该主题上找不到任何内容),或者预览是否损坏?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。