“不支持”在不指定 RuntimeIdentifier 的情况下构建或发布自包含应用程序

Posted

技术标签:

【中文标题】“不支持”在不指定 RuntimeIdentifier 的情况下构建或发布自包含应用程序【英文标题】:It is "not supported" to build or publish a self-contained application without specifying a RuntimeIdentifier 【发布时间】:2020-10-12 12:59:14 【问题描述】:

使用最新的 Visual Studio 2019 我正在尝试为 DotNetCore 3.1 WPF 应用程序发布 Msix 安装程序。应用程序可以正确构建和运行,但是当我尝试发布应用程序时出现此错误

It is not supported to build or publish a self-contained application without specifying a RuntimeIdentifier.

我的 UI 项目 csproj 看起来像这样。

<PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <UseWPF>true</UseWPF>
    <RuntimeIdentifier>win10-x64</RuntimeIdentifier>
    <SelfContained>false</SelfContained>
</PropertyGroup>

如何解决这个问题?

编辑:所以事实证明,只有当我将我自己托管的 asp.net 核心项目包含在我试图打包的 gui 项目中时,才会出现问题。

什么可能导致此问题?是不是因为某种原因不支持打包那种项目?

【问题讨论】:

【参考方案1】:

请删除PropertyGroup中的RuntimeIdentifier和SelfContained设置,然后在cmd.exe中输入dotnet publish -f netcoreapp3.1 -r win10-x64 --self-contained false

【讨论】:

我试过这个,这就是我得到的结果。 pastebin.com/TehQtSix 这是详细版本的结尾pastebin.com/YCRetmHi 所以事实证明,只有当我将我的自托管 asp.net 核心项目包含在我试图打包的 gui 项目中时,才会出现问题。什么可能导致此问题?是不是因为某种原因不支持打包那种项目? 你是如何将 asp.net core 项目包含在 gui 项目中的?我需要详细信息来重现错误。 asp.net核心项目被wpf gui项目作为项目引用引用。 wpf gui 项目自己托管 asp.net 项目。如果我删除这个引用(以及调用它的几行代码),那么它会正确打包。 您需要更多信息吗?我想不出还有什么要补充的。

以上是关于“不支持”在不指定 RuntimeIdentifier 的情况下构建或发布自包含应用程序的主要内容,如果未能解决你的问题,请参考以下文章

在不支持旋转的 iOS 应用中旋转 UIImageView

PCRE 在不支持 UTF 的情况下编译

如何在不支持 flex 的浏览器中居中按钮?

如何在不支持 tk 的情况下构建 Python3?

已经安装了的php,支持gd,但不支持jpeg.如何处理?在不重新编辑php的情况下。

偷渡者不受支持,微软警告:请勿在不受支持的 PC 上安装 Win11