net40
NuGet互換性シムのみを対象とするNuGetパッケージである.NET Core 3.1プロジェクトから参照しようとしています。パッケージはプロジェクトに追加されますが、net40
依存関係は追加されません。
パッケージは次のように構成されています。
lib\
net40\
AssemblyA.dll
nuspec:
<dependencies>
<group targetFramework="net40">
<dependency id="PackageB" version="1.0" />
</group>
</dependencies>
Visual Studio の Package Manager には依存関係が一覧表示されますが、インストールすると、依存関係は VS の [変更のプレビュー] ウィンドウに表示されず、実際にはインストールされません。PackageB
も対象となりnet40
ます。
次の場合は機能します。
- 依存関係を「Any」(空白) 依存関係グループとその下に含めます。
net40
- 依存関係グループを削除し、パッケージをフラット リストとして
net40
直下にリストします。<dependencies>
net40
アンダーを削除しlib\
てフラット リストを使用する
これらは、ターゲット フレームワークの本質をわかりにくくするため、理想的ではありません。最後の 2 つは で生成NU5128
されpack
ます。今後の参考のために、これらのシナリオが機能するためには、ローカル キャッシュから依存関係を削除する必要があることを言及する必要があります (確かにバグですか?)。
そのようなパッケージから依存関係を引き出す方法についてのアイデアはありますか? これは単にサポートされていないのでしょうか? これの良いテスト例は、「Polly.Net40Async」パッケージです。
(VS: 16.6.5、dotnet: 3.1.302、PackageReference、Windows 10)