我正在創建一個Visual Studio 2017自定義簽入策略擴展。我目前的解決方案的結構如下:如何在一個VSIX安裝程序中包含來自NuGet包的程序集?
注:這是我在新的NuGet PackageReference辦法,這就是爲什麼沒有packages.config文件的優勢。
我相信我有我的設置VSIX清單適當,因爲一切完美的作品時,我不引用Microsoft.Net.Http
(原來我是在值硬編碼,而不是檢索值)。我不確定爲什麼包含Microsoft.TeamFoundationServer.ExtendedClient
NuGet軟件包不會導致任何問題,而NuGet軟件包的Microsoft.Net.Http
確實如此。
我看着調試文件夾,看看正在編譯什麼,我看到每個程序集都需要被拉入,但是如果我解壓縮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功能。
我可能來晚了,但這個線程解決我的問題:https://開頭計算器。 com/questions/42201923/vsix-extension-how-can-i-ensure-a-referenced-dll-or-assembly-is-included-in-th –
@AmauryLevé:這個問題可能已經解決了你的問題,但它是與我所引用的問題完全無關,與VSIX打包程序有關的問題通過NuGet的PackageReference功能自動包含程序集。該問題/答案通過直接引用組件來處理添加資產。 –