我正在创建一个Visual Studio 2017自定义的Check-In策略扩展。我的当前解决方案结构如下:
注意:我正在利用新的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包的工具可能不支持NuGet的新PackageReference
功能。如果我使用旧的packages.config功能,一切都正常。我已经提出了UserVoice Ticket以支持新的NuGet功能。