2014-08-28 75 views
0

我有以下结构的VS2013解决方案:如果一个人决定更新使用SharedCode 1.54升压一个版本的NuGet包每个解决方案(但不是最新)

MyProject.sln 
-> MyProject.vcxproj // depends on SharedCode 
    -> packages.config // depends on boost 1.49 
-> SharedCode.vcxproj // library developed at another repo, i just merge sometimes or apply local fixes 
    -> packages.config // alse depends on boost 1.49 

,就会出现问题。 当我合并我需要手动检查版本是否已更改,并手动更新我的依赖关系。 如果我运行更新包 - 我会得到最新版本,这是不可接受的。 有没有办法解决这个问题?

回答

1

Update-Package有一个可以使用的版本参数,因此它将所有项目中的软件包更新到该版本,而不是最新版本。

Update-Package MyPackage -Version 1.1.0 
+0

它有,但无论如何,问题是我不知道何时版本在SharedCode中更改。我需要每次合并时手动检查一次。这是非常不方便和容易出错的。 – kubivan 2014-08-30 22:13:49

+0

是的。 NuGet没有内置任何内容来自动检查你。使用NuGet,您需要检查packages.config或查看“管理包”对话框中的包或使用PowerShell控制台。为了实现这一点,你需要自己实现它。您可以使用自定义的MSBuild任务或预先构建步骤来检查软件包版本是否一致。 – 2014-08-31 10:04:58

相关问题