ASP.NET vNext クラス ライブラリの NuGet パッケージを作成したいと考えています。どうすればそれを行うことができますか?があることは承知していますがkpm build
、kpm のダウンロード先などに関するガイドが見つかりませんでした。
また、その NuGet パッケージ (または DLL) を取得した後、それをローカル マシンから vNext プロジェクトに追加するにはどうすればよいですか?
ASP.NET vNext クラス ライブラリの NuGet パッケージを作成したいと考えています。どうすればそれを行うことができますか?があることは承知していますがkpm build
、kpm のダウンロード先などに関するガイドが見つかりませんでした。
また、その NuGet パッケージ (または DLL) を取得した後、それをローカル マシンから vNext プロジェクトに追加するにはどうすればよいですか?
Kpm は、新しい KRuntime のパッケージ マネージャーです。KRuntime コマンド ライン ユーティリティを開発者のコンピューターにインストールする方法については、aspnet ホーム リポジトリを参照してください。kvm と KRuntime のバージョンを設定すると、kpm も利用できるようになります。
kpm build
これで、クラス ライブラリ プロジェクトの場所で実行できます。出力は次のようになります。
kpm build src\ClassLibrary1\
ClassLibrary1 -> C:\Users\username\Documents\Visual Studio 14\Projects\WebApplication1\src\ClassLibrary1\bin\Debug\ClassLibrary1.1.0.0.nupkg
ClassLibrary1 -> C:\Users\username\Documents\Visual Studio 14\Projects\WebApplication1\src\ClassLibrary1\bin\Debug\ClassLibrary1.1.0.0.symbols.nupkg
Build succeeded.
0 Warnings(s)
0 Error(s)
Time elapsed 00:00:01.7556414
クラス プロジェクトへの参照を追加する最も簡単な方法は、同じソリューション内にあると仮定して、project.json 内で行うことです。ClassLibrary1 というクラス ライブラリを参照する Web アプリケーションの project.json の例を次に示します。
{
"webroot" : "wwwroot",
"exclude": "wwwroot/**/*.*",
"dependencies": {
"Microsoft.AspNet.Server.IIS": "1.0.0-alpha4",
"ClassLibrary1": ""
},
"frameworks" : {
"aspnet50" : { },
"aspnetcore50" : { }
}
}
NuGet フィードをセットアップする場合は、NuGetの公式ドキュメントを読んで、その方法を確認できます。kpm build
の出力をNuGet フィードにコピーします。
注: VS14 CTP4 は、KRuntime の alpha4 でのみ機能します。エラーが発生することなく vNext に VS14 を使用したい場合は、KRuntime をバージョン 1.0.0-alpha4 にダウングレードする必要があります。
Visual Studio 2015 RC以降を使用している場合: クラス ライブラリ プロジェクトのプロパティに移動し、Build
タブを開いてProduce outputs on build
オプションを確認します。
NuGet パッケージは{SolutionDir}\artifacts\bin\{ProjectName}\{Configuration}
、各プロジェクト ビルドのディレクトリに作成されます。
コマンドラインを使用する場合:
DNVM
とがインストールされていることを確認してくださいDNX
(手順については、 ASP.NET ホーム リポジトリを参照してください)。dnu pack
プロジェクト ディレクトリで実行します。NuGet パッケージは{ProjectDir}\bin\{Configuration}
、デフォルトでディレクトリに作成されます。同じソリューションの別のプロジェクトでクラス ライブラリを使用するには、Visual Studio の通常のプロジェクト参照として、または のdependencies
プロパティに追加しproject.json
ます。
"dependencies": {
"ClassLibrary1": ""
}
ライブラリを他のソリューションで使用するには、NuGet パッケージをnuget.orgまたはその他の NuGet フィードに公開し、Visual Studio ( References
~> Manage NuGet Packages...
) を使用してプロジェクトに追加するか、のdependencies
プロパティに追加しますproject.json
。
コメントするには十分な担当者がいません。
2016 年 8 月 8 日に投稿された移行ドキュメントによると、whyleee の回答を更新するには、DNX ツールセットの一部であったツールが dotnet CLI ツールに置き換えられました。
そのため、デフォルトで bin/[Configuration] ディレクトリにナゲットとシンボル パッケージが作成されますdnu pack
。ほとんどのコマンドを に置き換えdotnet pack
ます。dnu
dotnet
nuget パッケージをローカルに追加するには、この回答を参照してください。