2016-11-10 15 views
0

.NETコアフレームワークを対象としたネットワークライブラリ(https://github.com/Eastrall/Ether.Network)を作成していますが、.NET Coreと.NET Framework(4. *)の両方をサポートします。.NET Coreおよび.NET Framework用のC#ライブラリ

私はproject.jsonにいくつかの行を追加することについて聞いたが、これは良い解決策ですか?

誰かがこれを手伝ってくれますか?ありがとう

+0

あまりにも漠然としています.netコアは.NETフレームワークよりもはるかに範囲が限定されていますが、これはどのように可能かわかりません。 –

+0

NuGet for .NET Coreおよび.NET Frameworkにライブラリを展開することはできませんか? – Eastrall

答えて

3

はい、project.jsonを変更する必要があります。ここで

{ 
    "version": "1.0.0", 

    "dependencies": { 
    "NETStandard.Library": "1.6.0" 
    }, 

    "frameworks": { 
    "netstandard1.3": { 
     "imports": "dnxcore50" 
    } 
    } 
} 

official documentationから興味のプラットフォームに.NETプラットフォームの標準をマッピングするスキームである

enter image description here

いくつかの簡単なメモ:

それは次のようになります。
  • ライブラリが.NET Platform Standardバージョン1.3をターゲットにしている場合、実行できるのは です.NET Framework 4.6以降、.NET Core、ユニバーサルWindows プラットフォーム10(UWP)、およびMono/Xamarinプラットフォームで動作します。
  • ライブラリが の.NET Platform Standardバージョン1.3をターゲットにしている場合、以前の.NET Platform Standardバージョン(1.2,1.1,1.0)のライブラリをすべて使用することがあります。
  • .NET Framework Standardバージョン をサポートする最古の.NET Frameworkは、.NET Framework 4.5です。これは、.NET Platform Standardの 基盤として使用されている新しいポータブルAPIサーフェス エリア(System.Runtimeベースの表面積とも呼ばれる)が、その.NET Frameworkのバージョン でのみ利用可能になったためです。 .NET Frameworkを対象とする< = 4.0 にはマルチターゲティングが必要です。詳細については

official documentationをチェックアウトすることをお勧めします。

+2

netstandard 1.5または1.6を使用しないようにすることをお勧めします。netstandard 2.0との互換性はありません。 Netstandard 1.4以前はnetstandard 2.0と互換性があるので、今度は移植可能なライブラリを作るのに適しています。 https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/#div-comment-136675 – Ziv

+0

@Zivこのコメントは古くなっています。[.NET Framework 4.6.1をサポートしています]を参照してください。 NET Standard 2.0](https://github.com/dotnet/standard/blob/master/docs/netstandard-20/README.md#net-framework-461-supporting-net-standard-20)を参照してください。 .NET標準1.5と1.6を避けるのは依然として望ましいことですが、実行時に特定のメンバーが.Net 4.6.1に失敗するためです。 – svick

+0

ありがとうございます!それが私の必要なものです! – Eastrall

関連する問題