是否有一种简单的方法将整个文件夹作为内容包含在VSIX软件包中?希望有一种比分别为每个文件设置“在VSIX中包含”标志更简单的方法。
之所以需要这样做,是为了将扩展的html帮助页(带有很多依赖文件)添加到我们的扩展程序中。
答案 0 :(得分:0)
是否有一种简单的方法将整个文件夹作为内容包含在VSIX软件包中?希望有一种比分别为每个文件设置“在VSIX中包含”标志更简单的方法。
您可以使用通配符*
将文件夹下的所有文件作为内容包含在VSIX软件包中,例如:
<Content Include="TestFolder\*.*">
<IncludeInVSIX>true</IncludeInVSIX>
</Content>
构建VSIX项目后,将生成的文件.vsix
更改为.zip
并解压缩,我们将在TestFolder
中找到所有文件。
希望这会有所帮助。
答案 1 :(得分:0)
作为上述答案的另一种构想:由于.vsix
是常规的.zip
,因此您可以将其解压缩,将文件放入其中,然后将其压缩并重命名为*.vsix
-仍可作为常规VSIX安装程序使用。
因此,用于构建带有其他文件的vsix
安装程序的整个解决方案(例如,其他解决方案版本的输出):
Resources
到您的vsix
项目Properties
窗口中设置以下选项: BuildAction = Content
Inclide in VSIX = True
<Content Include="Resources\*.json">
<IncludeInVSIX>true</IncludeInVSIX>
</Content>
<Content Include="Resources\*.dll">
<IncludeInVSIX>true</IncludeInVSIX>
</Content>
<Content Include="Resources\*.exe">
<IncludeInVSIX>true</IncludeInVSIX>
</Content>
将带有每个扩展名的任何虚拟文件(csproj中提到的每个掩码)放入此文件夹中-因此VS将了解csproj
中的相关选项不是损坏/虚拟字符串,并且不会忽略带有此扩展以后
构建VSIX解决方案
抓取myproj.vsix
文件
将其重命名为myproj.zip
,解压缩
将您需要的任何文件(带有csproj
文件中提到的扩展名/掩码)复制到Resources
文件夹中
将所有内容压缩回myproj.zip
,将其重命名为myproj.vsix
您可以使用: VSIX 安装程序,其中包含安装所需的大量其他文件。安装它。
将您的VS版本放入此路径,然后转到此处:
cd %AppData%\Local\Microsoft\VisualStudio\14.0\Extensions\
3xg44004asdf
的子文件夹下,并检查Resources
子文件夹的内容-文件在那里。除了csproj中未提及的文件/文件掩码,即使它们存在于VSIX安装程序中。这种情况对于使用类似TeamCity的运行器为内部需求构建扩展很有用: