2017-05-11 17 views
0

私はNuGetパッケージシステムの周りを頭で囲んでいます。最近、.NET Framework 4.5.2のみを対象としたNuGet用のクラスライブラリをリリースしましたが、需要に応じて、.NET Standard 1.4を対象とした新しいクラスライブラリを作成することにしました。複数のプロジェクトを単一のNuGetパッケージにパッケージ化する

ここで私は迷子になります。 2つの異なるプロジェクトを持つこのシナリオを取って、単一のNuGetパッケージで複数のフレームワークを対象にすることは可能ですか?

.NET Framework 4.5.2プロジェクトを削除し、それを.NET Standard 1.4プロジェクトに置き換えることは意味がありますか?コードは100%同じです。

このようなシナリオをナビゲートするための推奨事項やベストプラクティスはありますか?

答えて

0

.NET Framework 4.5.2をサポートする必要がある場合は、compatibility matrixとして.NET Standardのバージョンを1.2に下げる必要があります.Net Standard 1.4パッケージは.NET Framework 4.6.1でのみ使用できます。 +。

これができない場合は、同じプロジェクトが.NET標準の.NET Frameworkのバージョン用に構築され、同じNuGetパッケージにパッケージされるようにプロジェクトをマルチターゲットできます。そのパッケージを参照する.NET Frameworkプロジェクトは、同じパッケージ内の.NET Standard dllよりも.NET Framework dllを優先します。

あなたはTargetFrameworks(複数)にプロパティを変更することにより

<TargetFrameworks>net452;netstandard1.4</TargetFrameworks> 

<TargetFramework>netstandard1.4</TargetFramework> 

から.NET標準のプロジェクトを変更することでこれを行うことができ、プロジェクトは現在、二回に構築されます - かつて指定されたフレームワークごとに。

関連する問題