如何强制Visual Studio 2019为ClickOnce部署的图标生成.deploy文件
ClickOnce发布缺失loader.ico.deploy文件解决方案
方案1:将图标内嵌,移除清单对外部图标的引用(推荐,符合WPF图标使用习惯)
- 打开项目属性页,切换到「应用程序」标签,在「图标」下拉框直接选择项目内的loader.ico文件,「清单」选项选择「嵌入带默认设置的清单」。
- 切换到「发布」标签,点击「选项」按钮,在弹出窗口的「清单」分类下,清空「部署图标」的路径配置,此处选择的图标会被ClickOnce强制要求作为单独部署文件处理。
- 右键项目中的loader.ico文件,将「生成操作」设置为
Resource,「复制到输出目录」设置为「不复制」。 - 右键项目选择「卸载项目」,再次右键选择「编辑.csproj文件」,搜索所有和loader.ico相关的
<PublishState>、<IncludeHash>等发布属性节点,全部删除后保存,重新加载项目。 - 清理解决方案的
bin、obj目录后重新发布即可。
方案2:强制生成loader.ico.deploy部署文件
- 卸载项目并编辑.csproj文件,找到loader.ico对应的配置节点,修改为如下内容:
<ItemGroup> <Content Include="loader.ico"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <PublishState>Include</PublishState> <IncludeHash>True</IncludeHash> <FileType>File</FileType> </Content> </ItemGroup>
- 保存后重新加载项目,打开发布设置的「应用程序文件」界面,勾选「显示所有文件」,确认loader.ico的「发布状态」为包含、「下载组」为「必需」、「哈希」为「包含」。
- 删除项目根目录下的
bin、obj缓存文件夹,清理解决方案后重新发布即可解决Unable to apply publish properties for item "loader.ico"警告,同时生成对应的.deploy文件。
内容的提问来源于stack exchange,提问作者K_Trenholm
相关产品推荐
相关产品推荐

