如何强制 Visual Studio 2019 为 ClickOnce deployment/install 的图标生成 .deploy 文件

How do I force Visual Studio 2019 to generate a .deploy file for an icon for ClickOnce deployment/install

我 运行 遇到了一个问题 publishing/installing 在 Visual Studio 2019 年用 C# 构建了一个 ClickOnce 应用程序。该应用程序是使用 .NET Core 3.1 和 WPF 构建的。

我有一个图标用于项目中包含的应用程序,文件名为“loader.ico”。 ClickOnce 清单正在调用 loader.ico,但发布时未生成所需的 Loader.ico.deploy 文件,这在尝试 [=52] 时抛出异常=] setup.exe 将应用程序安装到客户端 PC(实际文件路径已替换为 [Path]:

+ Downloading file:///[Path]/x64/ClickOnce/Application Files/.NET Bootloader_1_0_0_4/loader.ico.deploy did not succeed.
    + Could not find file '[Path]\x64\ClickOnce\Application Files\.NET Bootloader_1_0_0_4\loader.ico.deploy'.

我已经尝试使用我能找到的有关该问题的信息来做一些事情:

我将 loader.ico 的构建操作设置为 Content,并将复制到输出目录设置为 Copy Always。我还将 loader.ico 的“设置 > 应用程序文件”设置设置为 Include。这对生成的发布没有影响,并且不会生成 loader.ico.deploy 文件。

我在发布时还在输出 window 中收到以下内容: 无法应用项目“loader.ico”的发布属性

我也曾尝试从“应用程序文件”中排除 loader.ico,但这并没有删除 .manifest 文件中的引用。

所以现在我有点不知所措。我不知道为什么它需要图标的 .deploy 文件(我认为它只是嵌入?不需要单独的图标文件?)。我似乎无法让 ClickOnce 发布过程生成所需的 loader.ico.deploy 文件,而且我似乎无法让清单删除对它的引用。可以使用哪些设置来强制生成此 .deploy 文件(或强制清单不引用它)?

我遇到了同样的问题,您的应用程序 .ico 文件会导致此错误,因此您必须将其属性设置更改为 Build Action: ContentCopy To Output目录:总是复制。 希望有用

我可以从我自己的经验中证实这是多么令人沮丧。我什么都试过了。 目前 - 在解决此问题之前 - 我建议您手动将 .ico 文件添加到 Apllication_1_0_0_x 文件夹并在末尾附加“.deploy”。

所以文件看起来像 'my-icon.ico.deploy'。

有效。久经考验。

就我而言,它有帮助: Publish -> Show all (Settings current project) -> Settings -> Application Files -> (Show all files): 查找ico文件,select发布状态为Include | (必填) |包括。

以后发布时会添加ICO文件