Visual Studio 2019 16.9.2 DotNet 5控制台应用Build Action无法选择问题咨询
Visual Studio 2019 16.9.2 静态文件Build Action配置报错的已知变通方案
相关报错信息:
An error has occurred while saving the edited properties listed below:
Build Action
One or more values are invalid. User canceled out of save dialog (Exception from HRESULT: 0x8004000C (OLE_E_PROMPTSAVECANCELLED))
问题成因
该问题是VS 2019 16.9.2版本的已知UI逻辑缺陷,和.NET 5运行时、控制台项目的结构没有关联。触发报错的核心原因是属性面板在保存Build Action配置时,错误调用了文档保存弹窗接口,和当前项目文件的读写锁产生逻辑冲突,最终抛出OLE调用取消的错误码。
可落地的解决方案
- 绕开UI面板直接编辑项目文件(零依赖,100%生效)
- 右键目标控制台项目,选择「卸载项目」,再右键选择「编辑项目文件(.csproj)」
- 定位到需要配置的静态文件对应的配置节点,根据需要的Build Action值直接修改节点类型:
- 对应「无操作」Build Action:配置节点为
<None Include="文件相对项目的路径" /> - 对应「内容」Build Action:配置节点为
<Content Include="文件相对项目的路径" /> - 对应「嵌入的资源」Build Action:配置节点为
<EmbeddedResource Include="文件相对项目的路径" />
- 对应「无操作」Build Action:配置节点为
- 如需配套设置「复制到输出目录」属性,可在对应节点下添加子配置,例如
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>(对应“如果较新则复制”选项) - 保存csproj文件,右键项目选择「重新加载项目」,配置即可直接生效。
- 修复属性面板的正常操作功能
- 关闭所有正在运行的Visual Studio 2019进程
- 打开系统资源管理器,地址栏输入
%LocalAppData%\Microsoft\VisualStudio,进入对应16.9版本的实例目录,删除目录下的ComponentModelCache缓存文件夹 - 启动Visual Studio Installer,对当前安装的VS实例选择「更多」->「修复」,等待流程完成后重启电脑,即可恢复属性面板选择Build Action的正常功能。
内容的提问来源于stack exchange,提问作者MC9000
相关产品推荐
相关产品推荐

