Excel VSTO项目使用TaskDialog报错,如何修改自动生成的Manifest?
解决VSTO项目中WindowsAPICodePack TaskDialog报错问题
要给VSTO工作簿项目添加Microsoft.Windows.Common-Controls依赖,不能直接修改VSTO自动生成的manifest,得通过自定义manifest文件来实现,步骤如下:
- 给项目添加自定义应用程序清单
右键你的VSTO项目 → 选择「添加」→「新建项」,在模板里找到「应用程序清单文件」(不同语言模板名称可能略有差异),创建一个名为app.manifest的文件。
- 给项目添加自定义应用程序清单
- 编辑manifest添加依赖
打开刚创建的app.manifest,找到<assembly>根节点,在合适的位置(比如<trustInfo>节点之后)插入你提供的依赖代码:
<dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly> </dependency>- 编辑manifest添加依赖
- 配置项目使用自定义manifest
右键项目 → 「属性」→ 切换到「应用程序」选项卡,在「Manifest」下拉菜单中选择你刚才创建的app.manifest(默认选项是「嵌入的清单」,需要替换成自定义的)。
- 配置项目使用自定义manifest
完成以上步骤后重新编译项目,TaskDialog应该就能在工作电脑上正常运行了——这个依赖会强制系统加载v6版本的通用控件,解决版本不兼容导致的报错。
内容的提问来源于stack exchange,提问作者JohnyL
相关产品推荐
相关产品推荐

