首页 > 解决方案 > VSIX 扩展 - 更改 DLL 的路径

问题描述

我已经使用 Visual Studio 2013 创建了一个 Visual Studio 扩展 (VSIX)。在这个扩展中,我引用了我创建的另一个类库 (DLL)。

这个DLL会在安装扩展后正确放置在扩展文件夹中 扩展文件夹为 C:\Users\username\AppData\Local\Microsoft\VisualStudio\12.0\Extensions\1oqfh4o4.2y5\

但我在 Visual Studio 的安装目录中也需要这个 dll -> C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE

如果我不将 dll 复制到 Visual Studio 文件夹中,则会出现扩展无法找到 dll 的异常。

是否可以将dll的路径更改为扩展文件夹?是否可以将 dll 直接包含到 VSIX 中?

我尝试使用“source.extension.vsixmanifest”中的“资产”,但它仍然无法正常工作。

我对外部库“System.Windows.Interactivity.dll”也有同样的问题

谢谢,菲尔

标签: c#visual-studiovisual-studio-extensionsvsix

解决方案


是否可以将 dll 直接包含到 VSIX 中?

是的,但您应该确保 dll 是可再分发的。

  • 将 dll 作为文件而不是引用添加到您的扩展项目中(添加->现有项目)。
  • 在“属性”窗口中将其属性“构建操作”设置为“内容”。
  • 在“属性”窗口中将其属性“包含在 VSIX 中”设置为True

然后构建扩展项目,可以查看文件中的dll文件.vsix(将文件重命名.vsix.vsix.zipfile并打开查看)。


推荐阅读