2014-02-10 82 views
1

我正在开发持续集成项目。我已经建立了一个本地Nuget包存储库以及为构建和部署设置Atlassian Bamboo(基本上是msbuild)。该NuGet包版本如下:根据解决方案配置指定nuget包版本

MyPackage.Library版本1.1.1.1

MyPackage.Library版本1.1.1.1试验

MyPackage.Library版本1.1.1.1-DEV

的没有附加名称的包是生产包。 Bamboo构建了这三个部署,并将它们部署到nuget包服务器上,但问题出现在我打算使用它们的项目中。我还没有想出一种方式来'转换'packages.config来指定测试或开发nuget包,当竹建立我包含软件包的项目的测试和dev版本。(对不起,如果这是令人困惑)。

如何根据哪个解决方案配置(在IDE内)指定要使用哪个nuget包?

(编辑:现在寻找到在Visual Studio NuGet包构建如何恢复工作,我知道我可以用手动像指定包...

String cmdnuget = "C:\\Tools\\nuget restore " + item.toString() + " -PackagesDirectory " + startingDir.toString() + "\\packages -NonInteractive -NoCache -ConfigFile C:\\Tools\\NuGet.config"; 

但是,这并不能真正帮助在IDE开发和调试里面)。

编辑2:玩弄使用个人git回购dev/test/prod的想法。这可能是选择的路径,因为packages.config文件可以包含到dev/test包的正确映射。如果有人有更好的想法,我会立即开放。

+1

你想达到什么目的? –

+0

查看我的回答。我对这个问题的思考过程非常沮丧。对不起所有。 – CarComp

回答

0

对每个环境使用单独的回购并且每个回收都包含适当的packages.config,其中包含适用于每个环境的适当的nuget包是解决此问题的简单方法。我诚实地问了错误的问题,走错了路,后来发现一个简单的方法有时候效果最好。

+0

长期来看,使用像Artifactory这样的适当包管理器会比较好,它允许您维护一个单一的回购站,但是针对每个包还包含额外的元数据('HasPassedUnitTests','Has PassedComponentTests','HasPassedIntergrationTests'等),而不是单独的回购,但单独的环境回购肯定比单独的代码分支甚至每个环境的git回购更好! –