我正在创建一个 Visual Studio 2017 自定义签入策略扩展。我目前的解决方案结构如下:
注意:我正在利用新的 NuGet PackageReference方法,这就是没有 packages.config 文件的原因。
我相信我已经适当地设置了我的 VSIX 清单,因为当我不引用时一切正常Microsoft.Net.Http
(最初我是在值中硬编码而不是检索值)。我不确定为什么包含的Microsoft.TeamFoundationServer.ExtendedClient
NuGet 包不会导致任何问题,而Microsoft.Net.Http
NuGet 包会。
我查看了调试文件夹以查看正在编译的内容,并且我看到每个必要的程序集都被拉入,但是如果我解压缩 VSIX(我将其重命名为 *.zip 并解压缩它),则仅包含项目程序集;Nuget 引用的程序集未打包在 VSIX 包中。
我遇到了一些资源,但似乎没有任何效果:
- VSIX 包不包含引用项目的依赖项
- 带有项目模板和 NuGet 包的 VSIX
- 如何在 Visual Studio 扩展 (vsix) 中包含 Nuget 包
- VSIX 扩展 - 如何确保引用的 dll 或程序集包含在 VSIX 文件中?
这些问题/答案中的每一个似乎都没有解决我的具体问题。
更新:
我相信用于生成 VSIX 包的工具可能不支持PackageReference
NuGet 的新功能。如果我使用旧的 packages.config 功能,一切正常。我已放入UserVoice Ticket以支持新的 NuGet 功能。