我试图将自定义图标添加到Visual Studio中的解决方案资源管理器中,就像FileIcons扩展所做的一样。
我想我已经为Visual Studio做了一切正确的工作,以将新图标与以.d
和.di
扩展名结尾的文件相关联,但是Visual Studio在解决方案资源管理器中仍然不显示任何图标。
这是使用生成的清单ManifestFromResources.exe
:
<?xml version="1.0" encoding="utf-8"?>
<!-- This file was generated by the ManifestFromResources tool.-->
<!-- Version: 14.0.50929.2 -->
<ImageManifest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/VisualStudio/ImageManifestSchema/2014">
<Symbols>
<String Name="Resources" Value="/VisualDLS;Component/Icons" />
<Guid Name="AssetsGuid" Value="{872b4702-eabf-444b-b6b3-96dc64531f74}" />
<ID Name="d" Value="0" />
</Symbols>
<Images>
<Image Guid="$(AssetsGuid)" ID="$(d)">
<Source Uri="$(Resources)/d.png">
<Size Value="32" />
</Source>
</Image>
</Images>
<ImageLists />
</ImageManifest>
这是pkgdef文件:
[$RootKey$\ShellFileAssociations\.d]
"DefaultIconMoniker"="872b4702-eabf-444b-b6b3-96dc64531f74:0"
[$RootKey$\ShellFileAssociations\.di]
"DefaultIconMoniker"="872b4702-eabf-444b-b6b3-96dc64531f74:0"
在我的扩展程序的vsixmanifest中,pkgdef文件被定义为具有以下属性的资产:
Microsoft.VisualStudio.VsPackage
File on filesystem
icons.pkgdef
显然,这是我如何命名我的pkgdef文件)关于文件属性,图标图像文件被设置为资源,而图像清单和pkgdef文件都被设置为要包含在VSIX中的内容。
如果我尝试在图像清单中使用KnownMoniker,则Visual Studio会正确拾取它并正确显示图标。如果事先安装,我什至可以从FileIcons扩展中引用图标别名。但是,一旦我尝试使用自己的清单和图标,就什么也没有显示。我在这里可能做错了什么,但似乎看不到确切的含义。
对于将来可能会偶然发现相同问题的任何人,我都知道我的问题所在。在最初的测试中,我一定做错了什么,导致Visual Studio在资源管理器中未在.d
文件旁边显示任何图标。之后,即使在纠正了我做错的所有事情之后,它可能仍会继续这样做,因为某个地方有图标缓存。用另一个扩展名重命名文件,然后将其重命名为原始名称后,新图标开始显示。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句