目前沒有辦法完全按照您的要求進行操作,但以下內容將幫助您簡化更新。
這聽起來像你需要添加nuspec文件到你的解決方案。類似以下三個文件。注意後面兩個的依賴關係。這些引用與[$ version $]中常見的dll版本相同。這意味着當您運行以下命令時,它會更新所有這三個,因爲依賴項上的方括號需要特定版本的相關軟件包。常見
在哈德森
PM>更新包,您將需要執行使用的NuGet包命令(see Nuget command reference)這些nuspec文件,包括所得封裝在你的文物,並將其部署到本地的NuGet服務器。我會把它留給你。
您需要做的另一件事是確保您的所有程序集都獲得相同版本的相同版本。再次,哈德森可以照顧這一點,或者你可以使用一個通用的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>
您的意思是說,當您爲Logging構建一個NuGet包時,您希望它爲Common包含一個依賴項,因爲Common包含在通過NuGet記錄中? –
[在一個解決方案中從多個項目創建一個NuGet包]可能的副本(https://stackoverflow.com/questions/15882770/creating-one-nuget-package-from-multiple-projects-in-one-solution) –