5

NuGetを使用して、内部で作成したアセンブリを数か月間管理してきましたが、非常にうまく機能しています。私は最近、ポータブルクラスライブラリを「発見」しました。これも素晴らしいものでした。パッケージをインストールするときまでです。

Windowsストアアプリ用の.NET4.5、SL5、および.NETを対象とするPCLがあるとします。実行nuget specして.nuspecファイルを作成し、値を編集してパッケージ化し、.nupkgを内部フィードに追加します。パッケージエクスプローラーで.nupkgファイルを開くと、libの下にportable-win + net45+sl50という1つのコンテンツフォルダーが表示されます。

互換性のあるプロジェクトから別のソリューションにパッケージをインストールしようとすると、次のメッセージが表示されます。

「'Project.PCL'は、ソリューション内のどのプロジェクトとも互換性がないため、インストールできませんでした。パッケージはどのフレームワークも対象としていません。」

パッケージエクスプローラーで.nupkgを手動で作成し、バージョン番号を更新し、ターゲットフレームワークごとにlibフォルダー(ポータブルフォルダーではない)を追加し、Project.PCL.dllを各フォルダーに追加すると、パッケージをに追加できます。ソリューション内の互換性のあるプロジェクト。しかし、PClを更新するたびにこのプロセスを実行するのは、やや面倒です(プロジェクトのルートフォルダーに小さな.cmdファイルを作成して、すばやくパッケージ化して展開していました)。

他の人はこの問題を抱えていますか?他のタイプのプロジェクトと同じ方法でPCLをパッケージ化するにはどうすればよいですか?

注-私はVS2012UltimateとNuGet2.2を使用しています

4

2 に答える 2

2

nuget specポータブルクラスライブラリでは機能しないようです。スレッドを開始するか、 NuGetサイトで問題を提出する価値があります。

ただし、NuGetパッケージエクスプローラーから.nuspecファイルを作成することもできます。すでに行ったようにパッケージを作成しますが、[メタデータに名前を付けて保存...]を選択して.nuspecとして保存します。その後、nuspecファイルのソースパスを手動で編集する必要があるかもしれませんが、パッケージの作成を自動化できるはずです。

于 2013-01-03T16:26:40.187 に答える
1

私にとって、nugetスペックとnugetパックは、パッケージを作成して互換性のあるプロジェクトにインストールするときに、ポータブルプロジェクトで正常に機能しました。
最新のnuget.exe(2.2)があるかどうかを確認しますか?http://nuget.org/nuget.exeからダウンロードする、nugetupdate-selfを実行して更新できます。

于 2013-01-04T00:19:21.373 に答える