【发布时间】:2017-05-01 20:29:29
【问题描述】:
我正在创建一个 Visual Studio 2017 自定义签入策略扩展。我目前的解决方案结构如下:
注意:我正在利用新的 NuGet PackageReference 方法,这就是没有 packages.config 文件的原因。
我相信我已经适当地设置了我的 VSIX 清单,因为当我不引用 Microsoft.Net.Http 时一切正常(最初我是在值中硬编码而不是检索值)。我不确定为什么包含 Microsoft.TeamFoundationServer.ExtendedClient NuGet 包不会引起任何问题,而 Microsoft.Net.Http NuGet 包会。
我查看了调试文件夹以查看正在编译的内容,我看到每个必要的程序集都被拉入,但是如果我解压缩 VSIX(我将其重命名为 *.zip 并解压缩它),则仅包含项目程序集; Nuget 引用的程序集未打包在 VSIX 包中。
我遇到了一些资源,但似乎没有任何工作:
- VSIX Package doesn't include referenced project's dependencies
- VSIX with Project Templates and NuGet Packages
- How to include a Nuget package in a Visual Studio Extension (vsix)
- VSIX extension - How can I ensure a referenced dll or assembly is included in the VSIX file?
这些问题/答案中的每一个似乎都没有解决我的具体问题。
更新:
我认为用于生成 VSIX 包的工具可能不支持 NuGet 的新 PackageReference 功能。如果我使用旧的 packages.config 功能,一切正常。我已经添加了UserVoice Ticket 来支持新的 NuGet 功能。
【问题讨论】:
-
我可能来晚了,但这个帖子解决了我的问题:stackoverflow.com/questions/42201923/…
-
@AmauryLevé:这个问题可能已经解决了您的问题,但它与我引用的问题完全无关,这与 VSIX 打包程序通过 NuGet 的 PackageReference 功能自动包含程序集有关。该问题/答案通过直接引用程序集来处理添加资产。
标签: nuget visual-studio-2017 vsix checkin-policy