現在、あなたが求めることを正確に行う方法はありませんが、以下は更新を合理化するのに役立ちます。
ソリューションにnuspecファイルを追加する必要があるようです。次の3つのファイルのようなもの。次の2つの依存関係に注意してください。これらは、[$version$]を介して一般的なものと同じdllバージョンを参照します。つまり、次のコマンドを実行すると、依存関係の角かっこには特定のバージョンの依存関係パッケージが必要になるため、3つすべてが更新されます。
PM>更新-パッケージ共通
Hudsonでは、nuget packコマンド( Nugetコマンドリファレンスを参照)を使用してこれらのnuspecファイルを実行し、結果のパッケージをアーティファクトに含めて、ローカルのnugetサーバーに展開する必要があります。それはあなたにお任せします。
他に行う必要があるのは、すべてのアセンブリが同じビルドで同じバージョンを取得するようにすることです。繰り返しになりますが、Hudsonがこれを処理するか、一般的なAssemblyInfoファイルを使用できます。
Common.nuspec
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<version>$version$</version>
<authors>Charles Ouellet</authors>
<owners />
<iconUrl>http://domain/Content/images/LOGO_32x32.png</iconUrl>
<id>Common</id>
<title>Common</title>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>full description here</description>
</metadata>
<files>
<file src="..\Common\bin\Release\Common.dll" target="lib\net40" />
<file src="..\Common\bin\Release\Common.pdb" target="lib\net40" />
</files>
</package>
Logging.nuspec
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<version>$version$</version>
<authors>Charles Ouellet</authors>
<owners />
<iconUrl>http://domain/Content/images/LOGO_32x32.png</iconUrl>
<id>Logging</id>
<title>Logging</title>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>full description here</description>
<dependencies>
<dependency id="Common" version="[$version$]" />
</dependencies>
</metadata>
<files>
<file src="..\Logging\bin\Release\Logging.dll" target="lib\net40" />
<file src="..\Logging\bin\Release\Logging.pdb" target="lib\net40" />
</files>
</package>
Logging.NLog
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<version>$version$</version>
<authors>Charles Ouellet</authors>
<owners />
<iconUrl>http://domain/Content/images/LOGO_32x32.png</iconUrl>
<id>Logging.NLog</id>
<title>Logging.NLog</title>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>full description here</description>
<dependencies>
<dependency id="Logging" version="[$version$]" />
</dependencies>
</metadata>
<files>
<file src="..\Logging.NLog\bin\Release\Logging.NLog.dll" target="lib\net40" />
<file src="..\Logging.NLog\bin\Release\Logging.NLog.pdb" target="lib\net40" />
</files>
</package>