ライブラリを持っています。そのライブラリは、NET461とNETCOREAPP2_0のフルクライアントで使用されているNETSTANDARD2_0をターゲットにしています。コアアプリケーションでdllが選択される、ターゲットとなる標準およびdotnetcoreライブラリ用?
ライブラリにCore2.0固有のコードを追加したいとします。 私はAPPNETCORE2_0ターゲットを追加し、それは2つの別々のターゲットDLLを作成します
#if NETCOREAPP2_0
#endif
でセクションをラップするつもりです。 ライブラリをクライアントCore2.0アプリケーションから参照する際、NETCOREAPP2_0 DLLを参照し、NETSTANDARD2_0 DLLを無視しますか?
バージョンの選択順序は事前定義されていますか? ドキュメントへのリンクをありがとうございます。
"NuGetは、プロジェクトのターゲットフレームワーク以下の最高バージョンのアセンブリをコピーします"。 netcoreapp2.0アプリケーションの場合、netcoreapp2.0ライブラリが見つからない場合はnetstandard2.0ライブラリを使用しますか? –
はい。 NuGetのソースには、完全なロジックがあります。https://github.com/NuGet/NuGet.Client/blob/dev/src/NuGet.Core/NuGet.Frameworks/DefaultFrameworkMappings.cs#L367-L370 – omajid
ありがとう、sourceコードは真実の決定的な源です –