如何提取Visual Studio项目模板图标?

4

Visual Studio模板有一个参数图标,用于在创建项目对话框中显示。它被描述为:

<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
<TemplateData>
 <Name Package="{AAFFDC1E-A1C7-47bc-B3DC-9E685DF3959B}" ID="202" />
 <Description Package="{AAFFDC1E-A1C7-47bc-B3DC-9E685DF3959B}" ID="203" />
 <TemplateID>Microsoft.CSharp.ActivityDesignerLibrary</TemplateID>
 <Icon Package="{b3bae735-386c-4030-8329-ef48eeda4036}" ID="4600" />

那么什么是

Package="{b3bae735-386c-4030-8329-ef48eeda4036}" ID="4600"

包和ID是什么? 如何从中创建BitmapSource?


也许你可以在VS SDK中找到它们。(不确定,但值得一试) - Filburt
必须只使用Visual Studio,因为它们在新项目对话框中的模板列表中显示。无需安装SDK。 - Json76
看一下这个:https://dev59.com/HHVC5IYBdhLWcg3wbQbA#13347178 - Yoav
3个回答

3

对于Visual Studio 2015,CSharp项目模板图标位于...\Microsoft Visual Studio 14.0\VC#\VCSPackages\csproj.dll中。 enter image description here

参考一下,Visual Basic模板图标位于...\Microsoft Visual Studio 14.0\VB\Bin\msvbprj.dll中。 enter image description here

这并不全面。例如,请注意WPF包图标未显示。我还在查看中。如果您需要的是ID为4600的图标,则在CSharp包中显示。


1
我在寻找项目模板图标时发现了这个SO问题。
图标包的GUID是一个注册表键,它会告诉你图标文件的位置(它也可能被嵌入到dll中作为资源,参见Marty的答案)。
找到所需图标的快速方法是使用Windows资源管理器导航到“C:\Program Files (x86)\Microsoft Visual Studio 14.0”,然后搜索*.png。
更新:事实证明,您可以下载整套图标-Visual Studio Image Library(链接到另一个SO答案)。

0

经过一番折腾,我在以下位置找到了WPF模板图标:

C:\Users\<you>\AppData\Local\Microsoft\VisualStudio\<version>\1033\ResourceCache.dll

一些(但不是全部)我的扩展的模板图标也出现在这个文件中。您可以在下面的示例中看到来自VS 2017的XNA模板图标。

Preview of icons inside ResourceCache.dll

这些图标都是32像素,与它们在新项目向导中显示的大小相同。

enter image description here

这很不寻常,因为VS内置的csproj.dll中的模板图标至少都是48像素,其中许多达到256像素。
我查找了我能想到的每个与VS相关的dll,但没有找到任何高分辨率版本的WPF模板图标。只有ResourceCache.dll中的32像素图标。
该dll的名称、位置、文件时间以及其中仅有的32像素图标强烈暗示ResourceCache.dll不是这些图标的原始来源。完全有可能,在离线VSIX操作(即MEF构建)期间,VS会使用csproj.dll中的图标作为层来生成和缓存这些WPF模板图标。App和UserControl图标左下角的<■>符号符合这一说法。
不幸的是,这是我能找到的最好的结果。至少2012/2013年的图标非常基础,如果需要高分辨率,可以在Illustrator中快速重新创建它们。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接