VSIX-在包中包含其他应用程序

时间:2019-05-30 19:13:41

标签: visual-studio visual-studio-extensions vsix

我们如何在VSIX包中包含一个单独的.NET应用程序?最好在子目录中,以免干扰Visual Studio扩展本身(不同版本)的DLL。该应用程序可以在相同的解决方案中使用,但是出于相同的原因,我也没有在主项目中添加对该应用程序的引用。

目的是将该应用程序作为一个独立的进程运行,由扩展名开始。然后,扩展程序将通过WCF连接到该应用程序。

1 个答案:

答案 0 :(得分:1)

我敢肯定,您只需要在.VSIX中包含.EXE。 .VSIX只是一个.zip文件,您可以通过将其他文件添加到项目中并将VSIX中的Include属性设置为true来将其他文件包含到其中。

要确认,请尝试将类似Azure Data Lake and Stream Analytics Tools VSIX的内容下载到磁盘。 (之所以提到这一点是因为我注意到它在我的C:\ Program Files(x86)\ Microsoft Visual Studio \ 2019 \ Enterprise \ Common7 \ IDE \ Extensions目录下安装了许多.EXE)。

将.VSIX放在磁盘上后,将其重命名为.zip文件并解压缩,或者使用Windows资源管理器查看其内容。请注意,该.zip中包含的extensions.vsixmanifest文件没有对该.VSIX安装的任何.exe文件的引用或条目。这意味着,您真正需要做的就是将其包含在.zip文件中。

将一个子文件夹添加到您的.VSIX项目中,将.exe复制到其中,将其添加到您的项目中,将“包含在VISX中”属性设置为true,我想您已经准备就绪。

此致