Dotnet-core-sharing-libraries
.NETコア共有ライブラリ
この章では、ライブラリを* NuGetパッケージ*として共有して、別のプロジェクトで使用できるようにする方法について説明します。 パッケージの作成は、パブリックnuget.orgギャラリーまたは組織内のプライベートギャラリーを介して、パッケージ化して他のユーザーと共有するコードから始まります。 パッケージには、パッケージのインストール時に表示される readme などの追加ファイルを含めることも、特定のプロジェクトファイルへの変換を含めることもできます。
ライブラリからNuGetパッケージを作成する簡単な例を考えてみましょう。 これを行うには、コマンドプロンプトを開き、ライブラリプロジェクトのproject.jsonファイルがあるフォルダーに移動します。
次のコマンドを実行してみましょう。
dotnet help
最後に、new、restore、buildなどのさまざまなコマンドが表示されます。
最後のコマンドは pack; です。これにより、NuGetパッケージが作成されます。 次のコマンドを実行してみましょう。
dotnet pack
NuGetパッケージがbinフォルダーで生成されていることがわかります。 bin \ Debugフォルダーを開きましょう。
ここで問題は、NuGetパッケージエクスプローラーを使用できることを確認するためのNuGetパッケージの内容です。 次に、NuGetパッケージエクスプローラーを開きます。
最初のオプション*ローカルパッケージを開く*を選択します。
*StringLibrary.1.0.0.nupkg* を選択し、 *Open* をクリックします。
[パッケージの内容]セクションには、StringLibrary.dllのみが含まれていることがわかります。 [パッケージメタデータ]セクションには、ID、バージョン、およびすべての依存関係など、このライブラリに関する情報が少し表示されます。
*StringLibrary.1.0.0.symbols.nupkg* を開きましょう。
このNuGetパッケージには、ソースファイルと*。pdb *ファイルも含まれています。 *StringLib.cs ファイルをダブルクリックすると、ソースコードも表示されます。
ここで問題は、バージョン、作成者、説明などのメタデータをどのように構成できるかです。
project.jsonファイルは、プロジェクトのメタデータ、コンパイル情報、依存関係を定義するために.NET Coreプロジェクトで使用されます。 ここで、project.jsonファイルを開き、次の追加情報を追加しましょう。
{
"authors": [ "Mark Junior" ],
"description": "String Library API",
"version" : "1.0.1-*",
"supports": {},
"dependencies": {
"Microsoft.EntityFrameworkCore": "1.1.0",
"Microsoft.NETCore.Portable.Compatibility": "1.0.1",
"NETStandard.Library": "1.6.0",
"System.Runtime.Serialization.Json": "4.0.3",
"System.Runtime.Serialization.Primitives": "4.3.0"
},
"frameworks": {
"netstandard1.3": {}
}
}
ここで、著者名、説明、バージョンなどの追加情報を確認できます。 このファイルを保存し、ライブラリプロジェクトをビルドしてから、「dotnet pack」コマンドを再度実行します。
bin \ Debugフォルダー内で、StringLibrary NuGetパッケージがバージョン1.0.1で作成されていることがわかります。 NuGet Package Explorerで開きます。
更新されたメタデータが表示されます。 問題は、別のパッケージでどのように使用できるかです。
NuGetフィードのどこかで公開することから始めて、それを別のプロジェクトで使用することができます。
更新されたメタデータを公開するための2つのオプションがあります-
- nuget.orgに公開する
- メタデータをプライベートNuGetフィードにプッシュする
ここでは、nuget.orgでアカウントをセットアップするよりもはるかに簡単なので、プライベートNuGetフィードを使用します。 パッケージをnuget.orgに公開する方法については、https://docs.microsoft.com/en-us/nuget/create-packages/publish-a-packageで指定されているすべてのガイドラインに従うことができます。
以下の手順に従って、更新されたメタデータをプライベートNuGetフィードにプッシュします。
- ステップ1 *-開始するには、nugetコマンドラインユーティリティが必要であり、インストールする必要があります。 NuGetパッケージマネージャーを開き、nuget.commandlineを検索します。
- ステップ2 *-Nuget.Commandlineを選択し、*インストール*をクリックします。
ステップ3 *- *OK をクリックしてNuget.Commandlineをインストールします。 次のURL [[1]]
ステップ4 *-インストールが完了したら、コマンドプロンプトを再度開いて、NuGetパッケージがある *bin \ Debug フォルダーに移動し、次のコマンドを指定します-
nuget add StringLibrary.1.0.1.nupkg -Source D:\PrivateNugetPackages
ステップ5 *-上記のコマンドで、StringLibrary.1.0.1.nupkgパッケージをプライベートフィードに追加します。場所は *D:\ PrivateNugetPackages です。-Sourceはパッケージソースを指定します。
ステップ6 *- *StringLibrary がインストールされていることがわかります。 StringLibrary をプライベートフィードにさらに追加できます。
- ステップ7 *-そのフォルダに移動しましょう。
ステップ8 *- *stringlibrary フォルダー内に、バージョン名が付いた別のフォルダーが表示されます。ここでは1.0.1です。
NuGetパッケージはここにあります。