私はVisual Studio 2017カスタムチェックインポリシー拡張を作成しています。次のように私の現在のソリューションは、構造化されています。NuGetパッケージのアセンブリをVSIXインストーラに含めるにはどうすればよいですか?
注:私はpackages.configファイルが存在しない理由は、新しいNuGet PackageReferenceアプローチ、を利用しています。
は私が設定していると信じて、私の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?
これらの質問/回答のひとつひとつの1私の特定の問題に対処していないようです。
更新:
私はVSIXパッケージを生成するために使用されるツールはNuGetの新PackageReference
機能をサポートしていない可能性があると信じています。古いpackages.config機能を利用すると、すべて正常に動作します。私は新しいNuGet機能をサポートするためにUserVoice Ticketを入れました。
を実行している私は遅れて来るかもしれないが、このスレッドは私の問題を解決します。https://のstackoverflow。 com/questions/42201923/vsix-extension-how-can-i-sure-a-referenced-dll-or-assembly-in-th –
@AmauryLevé:この質問はあなたの問題を解決したかもしれませんが、私が参照していた問題とはまったく無関係です.VSIXパッケージャと関係があったのは、NuGetのPackageReference機能によるアセンブリが自動的に含まれているためです。その質問/回答は、アセンブリを直接参照してアセットを追加することを扱います。 –