Dotnet-core-sharing-libraries

提供:Dev Guides
移動先:案内検索

.NETコア共有ライブラリ

この章では、ライブラリを* NuGetパッケージ*として共有して、別のプロジェクトで使用できるようにする方法について説明します。 パッケージの作成は、パブリックnuget.orgギャラリーまたは組織内のプライベートギャラリーを介して、パッケージ化して他のユーザーと共有するコードから始まります。 パッケージには、パッケージのインストール時に表示される readme などの追加ファイルを含めることも、特定のプロジェクトファイルへの変換を含めることもできます。

ライブラリからNuGetパッケージを作成する簡単な例を考えてみましょう。 これを行うには、コマンドプロンプトを開き、ライブラリプロジェクトのproject.jsonファイルがあるフォルダーに移動します。

次のコマンドを実行してみましょう。

dotnet help

コマンド

最後に、new、restore、buildなどのさまざまなコマンドが表示されます。

最後のコマンドは pack; です。これにより、NuGetパッケージが作成されます。 次のコマンドを実行してみましょう。

dotnet pack

実行

NuGetパッケージがbinフォルダーで生成されていることがわかります。 bin \ Debugフォルダーを開きましょう。

デバッグフォルダー

ここで問題は、NuGetパッケージエクスプローラーを使用できることを確認するためのNuGetパッケージの内容です。 次に、NuGetパッケージエクスプローラーを開きます。

Open NuGet

最初のオプション*ローカルパッケージを開く*を選択します。

最初のオプション

*StringLibrary.1.0.0.nupkg* を選択し、 *Open* をクリックします。

OKをクリック

[パッケージの内容]セクションには、StringLibrary.dllのみが含まれていることがわかります。 [パッケージメタデータ]セクションには、ID、バージョン、およびすべての依存関係など、このライブラリに関する情報が少し表示されます。

*StringLibrary.1.0.0.symbols.nupkg* を開きましょう。

シンボル

このNuGetパッケージには、ソースファイルと*。pdb *ファイルも含まれています。 *StringLib.cs ファイルをダブルクリックすると、ソースコードも表示されます。

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」コマンドを再度実行します。

.Net 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パッケージはここにあります。