c# - 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”也有同样的问题
谢谢,菲尔
解决方案
是否可以将 dll 直接包含到 VSIX 中?
是的,但您应该确保 dll 是可再分发的。
- 将 dll 作为文件而不是引用添加到您的扩展项目中(添加->现有项目)。
- 在“属性”窗口中将其属性“构建操作”设置为“内容”。
- 在“属性”窗口中将其属性“包含在 VSIX 中”设置为True。
然后构建扩展项目,可以查看文件中的dll文件.vsix
(将文件重命名.vsix
为.vsix.zip
file并打开查看)。
推荐阅读
- java - HSQLDB:区分大小写的表名
- c# - JWT 请求无法通过授权策略
- android - java.lang.RuntimeException 仅在 Nexus 4 智能手机上
- c-api - 更新 aTable 集合 a,b,c = func(x,y,z,…)
- docker - 在 GCP 上找不到 Docker 映像
- c# - 带有密码和水印保护的 Itextsharp Pdf
- java - 如何通过服务市场运行下载的 App Router
- javascript - 元素修饰符 classList.add 和 classList.remove 未按预期工作
- karate - ArrayIndexOutOfBoundsException 使用空手道 0.8.0
- facebook-analytics - Facebook 分析 - 如何根据时间对事件进行分组(细分为 24 个部分)