他のソリューション/プロジェクト/などで使用される内部 C# プロジェクトのペア (最終的にはさらに多くなりますが、これら 2 つから開始) 用の NuGet パッケージを生成しようとしています。これらの内部 C# プロジェクトはどちらも、他の NuGet パッケージ (特にエンタープライズ ライブラリ ログ) への参照を持っています。私は、CSPROJ ファイルからパッケージをビルドできる Nuget の機能を使用して、私の生活を少し簡素化しています。問題は、プロジェクトが依存関係として参照するパッケージを Nuget.Exe ツールが識別しないことです。ソリューションの完全なレイアウトを提供するには:
Solution:
Project 1
Refs to some NuGet packages off the global repository (Enterprise Library, etc etc).
(has a packages.config file that explicity lists them all)
Project 2
Refs to some NuGet packages off the global repository (Enterprise Library, etc. etc).
Project ref to Project 1
(has a packages.config file that explicity lists them all)
私が使用するコマンドラインは次のとおりです。
nuget pack Project2.csproj -IncludeReferencedProjects -verbosity detailed
コマンド ラインの出力の関連部分は次のとおりです。
Found packages.config. Using packages listed as dependencies
Id: Project2
Version: 1.0.0.0
Authors: abc
Description: abc
Dependencies: Project1 (= 1.0.0.0)
Added file 'lib\net35\project2.dll'.
「依存関係: Project1、Enterprise Libray Logging など」を期待していました。
*注: プロジェクト間の依存部分を正しく機能させるには、Project1 と Project2 の両方に nuspec ファイルを追加する必要がありました。ただし、nuspec ファイルは基本的に空白ですが、プレースホルダーの値を保存します。
<?xml version="1.0"?>
<package >
<metadata>
<id>$id$</id>
<version>$version$</version>
<title>$title$</title>
<authors>abc</authors>
<owners>abc</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>defr</description>
<copyright>Copyright 2013</copyright>
</metadata>
</package>
NuGet イシュー トラッカーで見つけた最も近いものはhttp://nuget.codeplex.com/workitem/3097ですが、それは少し異なり、そこに提示された解決策はどちらも機能していないようです。
同様の状況で正しく動作している人はいますか?
Visual Studio 2012 で NuGet 2.7 を使用しています。