Visual studio 2012 根据解决方案配置指定nuget软件包版本

Visual studio 2012 根据解决方案配置指定nuget软件包版本,visual-studio-2012,configuration,msbuild,nuget,transform,Visual Studio 2012,Configuration,Msbuild,Nuget,Transform,我正在从事一个持续集成项目。我已经为构建和部署设置了一个本地nuget包存储库以及Atlassian Bambol(基本上是msbuild)。nuget软件包版本如下: MyPackage.Library版本1.1.1.1 MyPackage.Library版本1.1.1.1-Test MyPackage.Library版本1.1.1.1-Dev 没有附加名称的包是生产包。Bambor构建了这三个包并将它们部署到nuget包服务器上,但问题出现在我打算使用它们的项目中。我还没有找到一种方法来“t

我正在从事一个持续集成项目。我已经为构建和部署设置了一个本地nuget包存储库以及Atlassian Bambol(基本上是msbuild)。nuget软件包版本如下:

MyPackage.Library版本1.1.1.1

MyPackage.Library版本1.1.1.1-Test

MyPackage.Library版本1.1.1.1-Dev

没有附加名称的包是生产包。Bambor构建了这三个包并将它们部署到nuget包服务器上,但问题出现在我打算使用它们的项目中。我还没有找到一种方法来“transform”packages.config,以便在构建我包含包的项目的测试和开发版本时指定测试或开发nuget包。(如果这让人困惑,很抱歉)

如何根据哪个解决方案配置(在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内部的开发和调试没有真正的帮助)


EDIT2:考虑对dev/test/prod使用单个git repo。这可能是要选择的路径,因为packages.config文件可以包含到dev/test包的正确映射。如果有人有更好的想法,我现在就把它打开。

为每个环境使用一个单独的repo,并让每个环境都包含适当的包。包含每个环境的适当nuget包的配置是解决这个问题的简单方法。我诚实地提出了错误的问题,走了错误的道路,后来发现简单的方法有时效果最好。

你想实现什么?见我的答案。我在这件事上的思考过程非常混乱。很抱歉。从长远来看,您最好使用一个合适的包管理器,比如Artifactory,它允许您只维护一个repo,但每个包都有额外的元数据(“HasPassedUnitTests”、“HasPassedComponentTests”、“HasPassedIntergrationTests”等),而不是单独的repo,但是,针对环境的独立repo肯定比针对每个环境的独立代码分支甚至git repo要好!