我有两个包\项目" A"和" B"。在哪里" B"取决于" A"并用它作为参考。 当我在TFS中的构建过程正在建立" A"它从nuspec创建了一个nuget包并给它一个新版本并将它放在我的TFS私有包上。
我的问题是创造一个定义良好的" B"包装在每个" B"建立。在" B.nuspec" file我写了当前的版本" A"包:
<dependencies>
<group targetFramework=".NETFramework4.5">
<dependency id="A" version="[1.0.0.3]" />
</group>
</dependencies>
我什么时候创造一个新的&#34; A&#34;包我更新&#34; B&#34;项目使用新的&#34; A&#34;发布 - &gt;这也更新了&#34; packages.config&#34;最新的&#34; A&#34;版本符合预期。 问题在于&#34; B&#34;创造&#34; B&#34;来自nuspec文件的包,其旧依赖关系为&#34; A&#34; 。我希望它能使用&#34; A&#34;来自&#34; packages.config&#34;。
的版本有自动方式吗?(无需手动更改nuspec文件的每个新版本&#34; A&#34;)我想创建一个小的&#34;帖子-build&#34;从B->读取版本的过程。 &#34; packages.config&#34;并写在&#34; B.nuspec&#34;文件在&#34; A&#34;依赖部分。 TFS是否以更简单的方式支持它?
答案 0 :(得分:3)
我添加了一个新的帖子构建事件,该事件触发了一个脚本,该脚本从&#34; packages.config&#34;中获取版本。文件并将它们写回nuspec文件。
我将脚本和post build事件上传到我的GIT,供任何需要它的人使用。
答案 1 :(得分:1)
此问题类似于在构建时Cannot automatically update a NuGet package to the latest version during build
自动更新NuGet包您需要在构建过程/构建定义中添加新的构建步骤(例如powershell脚本)才能实现它。