C++ 每个解决方案一个版本的nuget软件包(但不是最新版本)

C++ 每个解决方案一个版本的nuget软件包(但不是最新版本),c++,nuget,native,C++,Nuget,Native,我有一个具有以下结构的VS2013解决方案: 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 -&g

我有一个具有以下结构的VS2013解决方案:

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
当有人决定将SharedCode使用的boost更新为1.54时,问题就出现了。 合并时,我需要手动检查版本是否已更改,并手动更新依赖项。 如果我运行更新包-我将得到最新版本,这是不可接受的。 有没有办法解决这个问题

有一个可以使用的版本参数,因此它会将所有项目中的包更新为该版本,而不是最新版本

    Update-Package MyPackage -Version 1.1.0

有,但问题是我不知道SharedCode中的版本何时更改。我需要在每次合并时手动检查它。这很不方便,而且容易出错。NuGet中没有任何内置功能可以自动为您检查。使用NuGet,您需要检查packages.config,或在“管理包”对话框中查看包,或使用PowerShell控制台。要实现自动化,您需要自己实现它。您可以使用自定义MSBuild任务或预生成步骤来检查包版本是否一致。