ローカル/内部のNuGetリポジトリを実行する にしたい。 NuGetを使用してダミーのプロジェクトに既存のNuGetパッケージを含め、パッケージファイルをスキャンして ローカルにキャッシュされた.nupkg
ファイルを取得 することで、既存のNuGetパッケージを「再利用」する方法を見つけたと思いますが、 ...
dll
依存関係を含めて、プロジェクトからnugetパッケージ(.nupkg
)を作成する方法NuGet経由?具体的には:
.dll
ファイル/他のプロジェクトへの参照を追加<-これは欠落している部分です.nupkg
を自動的に作成します私が見つけたものから、あなたは次のようなことをすることになっています
.csproj
ファイルを手動で編集して<BuildPackage>true</BuildPackage>
を追加し、依存関係を含めます.nuspec
ファイルを手動で作成し、手動で 依存関係を一覧表示 (- similar? )nuget pack
ファイルで.nuspec
を手動で実行しますしかし、すべてが手動であり、それは愚かです。半自動のソリューションでさえ、依然として厄介または半手動です。
.nuspec
templates -依存関係を含まないようで、メタデータのみbuild-eventを介したNuget Pack (ステップ#5)、すべてのプロジェクトに手動で追加する必要があり、 独自の癖 :
"$(SolutionDir).nuget\NuGet.exe" pack "$(ProjectPath)" -Properties Configuration=Release
move /Y *.nupkg "$(TargetDir)"
プロジェクト参照から.nuspec
マニフェストを自動的に作成するものを用意します。それから理論的には、その+ nuget build-eventをbuild-project/nugetパッケージにまとめることができます。これが本当に見たいものです。
あなたのポイント#3(さまざまな.dllファイル/他のプロジェクトへの参照を追加<-これは欠落している部分です)には実際に2つの異なる問題があります:(1 )さまざまなdllファイルへの参照を追加し、(2)同じソリューション内の他のプロジェクトへの参照を追加します。
ここの番号(2)は、 NuGet 2.5 の時点でサポートが追加されました。プロジェクトのNuGetパッケージを作成するときに、同じソリューション内の他のプロジェクトへの参照を含めるオプションを追加できます。
nuget pack projectfile.csproj -IncludeReferencedProjects
projectfile.csproj
は、NuGetパッケージとして公開されているソリューション内の他のプロジェクトを参照します。これらのプロジェクトのNuGetパッケージは、依存関係として追加されます。ソリューション内でがプロジェクトを参照している場合(==-==)が自身をNuGetパッケージとして公開しない場合、それらのDLLはこのNuGetパッケージに含まれます。
(1)に関して、NuGetパッケージとして利用できないプロジェクトにdllを頻繁に追加する場合、これらのファイルを使用して独自の(内部)NuGetパッケージを作成できます。これらのdllをファイルではなくNuGetパッケージとして直接追加すると、このNuGetパッケージはプロジェクトのNuGetパッケージの依存関係になります。
他のGoogle社員については、NuGet.targetsファイルを使用してNuGetパックを実行している場合、これを使用できます。
<Target Name="PrePackage" BeforeTargets="BuildPackage">
<PropertyGroup>
<BuildCommand>$(BuildCommand) -IncludeReferencedProjects</BuildCommand>
</PropertyGroup>
</Target>
これをチェックしてください!
私が見つけた解決策は、Visual Studioの拡張機能です: https://visualstudiogallery.msdn.Microsoft.com/fbe9b9b8-34ae-47b5-a751-cb71a16f7e96/view/Reviews
Nuget Packageという新しいプロジェクトを追加するだけです NuGet Package
次に、プロジェクトを参照とBOOOMに追加します。すべての依存関係とファイルディレクトリが自動的に追加されます。 NuSpecデータを変更する場合は、プロジェクトで右クリックして[プロパティ]に移動し、必要なものを変更します。生成されたNuSpecおよびnupkgは、新しいプロジェクトのフォルダーobjにあります。私はそれが役立つことを願っています;)。