Visual Studio Shell 2015 不在解决方案资源管理器中使用自定义图标

Posted

技术标签:

【中文标题】Visual Studio Shell 2015 不在解决方案资源管理器中使用自定义图标【英文标题】:Visual Studio Shell 2015 does not use custom icons in solution explorer 【发布时间】:2016-07-04 09:13:26 【问题描述】:

我已将我的应用程序从 VS Shell 2013 升级到 Shell 2015,我的编辑器扩展的自定义图标在解决方案资源管理器中不可见。在升级过程中,wix 也升级到 3.10

图标通过部署与 Wix 一起安装,注册表项已正确创建,文件资源管理器显示扩展的自定义图标。

当我添加例如 *.docx 时,它在解决方案资源管理器中有一个正确的图标,只有我的自定义图标有问题。你知道出了什么问题吗?

提前致谢

【问题讨论】:

【参考方案1】:

我发现了一个问题,但我还是不明白。自定义图标位于 C:\Program Files (x86)\My Application 文件夹中,在注册表中,.xyz 扩展名的值数据为“C:\Program Files (x86)\My Application\Icon.ico”。当我删除撇号时,它正在解决方案资源管理器中工作。

WIX 安装方式如下:

<File Id="IconFile" Name='Icon.ico' DiskId='1' Source='$(var.BuildOutputDir)\Icon.ico' KeyPath='yes' />
<ProgId Id="CustomFile" Icon="IconFile">
    <Extension Id="xyz" ContentType="application/text"></Extension>
</ProgId>

据我所知,撇号是强制性的,因为路径中有空格。这是真的吗?我可以以某种方式强制 WIX 不使用撇号吗?

或者错误是在shell中找到这种格式的图标,因为它是用Shell 13工作的

【讨论】:

嗨,如果您想为您的问题添加更多信息,您应该编辑问题,而不是发布答案(这可能会导致投票失败)。

以上是关于Visual Studio Shell 2015 不在解决方案资源管理器中使用自定义图标的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio Shell 2015 不在解决方案资源管理器中使用自定义图标

Visual Studio Shell 14 升级破坏了 VSPackage 中的命令捕获

如何在 Visual Studio 2015 隔离外壳中启用PrivateGalleries

如何在 Visual Studio 中使用 breakpad 符号调试 Electron shell?

如何在Visual Studio中嵌入命令shell

如何利用visual studio2015编写uwp应用