如何在Visual Studio中将自定义图标添加到解决方案资源管理器

洛朗·特雷吉耶

我试图将自定义图标添加到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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Visual Studio-导航到解决方案资源管理器的快捷方式

如何在Visual Studio 2010的解决方案资源管理器中找到文件?

Visual Studio 2013:如何在解决方案资源管理器中显示活动文件?

在我的Visual Studio解决方案资源管理器中,前面的红色小减号图标是什么意思?

如何在Visual Studio 2013解决方案资源管理器中获取文件路径?

在Visual Studio 2015解决方案资源管理器中未显示bower.json

在VS 2017自定义项目系统中,如何在解决方案资源管理器中将项目项设置为粗体?

在解决方案资源管理器下的Visual Studio解决方案中创建的文件夹未出现在源代码管理资源管理器中

如何禁用自动隐藏解决方案资源管理器(Visual Studio 2017)

Visual Studio解决方案资源管理器-针对资产文件观察到的不同图标

无法在Visual Studio 2017解决方案资源管理器中编辑.csproj文件

如何自定义Visual Studio解决方案资源管理器的右键菜单选项?

如何在Azure数据资源管理器中将自定义键/值对字符串解析为JSON对象?

如何在Visual Studio解决方案资源管理器中查找打开的Xamarin Android或iOS csproj文件

如何在Visual Studio的解决方案资源管理器中添加文件?

如何在Visual Studio 2010中使用键盘快捷方式关闭解决方案资源管理器面板?

更改Visual Studio解决方案资源管理器的字体大小

解决方案资源管理器不更新Visual Studio 2015中的团队项目

Visual Studio 2013更新4,解决方案资源管理器中的重复条目

这个红色正方形图标在Visual Studio 2013解决方案资源管理器中是什么意思?

Visual Studio解决方案资源管理器“不输入”符号含义吗?

如何在Visual Studio中将解决方案资源管理器与当前文件同步?

如何在Visual Studio 2019中的解决方案资源管理器中打开包含文件的文件夹

Visual Studio .Net解决方案资源管理器图标

在Visual Studio 2015中更改解决方案资源管理器工具窗口的标题

Visual Studio解决方案资源管理器无法找到所有内容

如何将自定义文件夹树添加到Windows 10文件资源管理器侧面板?

将自定义项模板添加到 Visual Studio 解决方案

如何在 Atmel Studio 中显示解决方案资源管理器