我对visual studio扩展中的依赖项有一些问题。其中一个解决方案是将我所有的dll IlMerge到一个dll中。我想出了一个解决方案来创建一个自定义的msbuild任务,该任务将在AfterBuild事件中运行(在创建vsix之后)。这就是任务的作用:
1. Unzip .vsix content.
2. Find all dlls and merge them into a single one.
3. Replaces all dlls with merged.dll in vsix.问题是dll在manifest.json和extension.manifest中列出,当我尝试安装vsix时,它抱怨找不到所需的dll。另外,我需要以某种方式将merge.dll添加到manifest.json中。
这似乎是一个常见的问题,但我找不到这种问题的适当解决方案。任何解决这个问题或以不同的方式解决这个问题的想法都将不胜感激。
发布于 2018-08-17 02:36:48
VSIX包遵循Open Packaging Conventions (OPC)。因此,它不仅仅是一个可以使用System.IO.Compression操作的.zip文件(如果有的话,它只能替换已经在清单中声明的文件)。您需要使用System.IO.Packaging,这是VSIX内部在生成VSIX文件的MSBuild任务中使用的。
但是应该有一种更简单的方法来处理依赖关系。
https://stackoverflow.com/questions/51877881
复制相似问题