2012-01-20 38 views
1

我们是一个封闭的网络上不上网,所以我们目前正在使用的文件共享作为的NuGet库使用的NuGet。我们在开发分支和主分支之间进行大量合并,并偶尔为修补程序或大功能设置一次性分支,这些分支将超出正常发布周期。在自动构建和支环境

我们发现,当我们将NuGet包添加到项目时,它会在.csproj文件中为文件包所在位置放置一个文件路径。这工作正常,直到我们合并到TFS中的另一个分支,然后启动构建。构建不会从源代码控制中拉下相同的文件(保持dev和main在这方面完全分开),因此未找到包路径并且构建失败。

我们已经想出了一个我们知道可以工作的解决方案,但却非常痛苦,我们需要进一步研究一个建议的解决方案。一种解决方案是将packages文件夹放到一个公共位置,每个build都将包含在它的工作区中,并手动修改每个.csproj文件以指向它的包的位置。

我们需要调查的解决方案是using NuGet without committing packages to source control。我们需要确定的是,如果NuGet.exe将创建.csproj文件所需的文件夹结构来查找软件包。

在使用自动构建的分支环境中是否有更好的解决方案来使用NuGet?

回答

0

你可以做的是创建一个本地可通过http://访问的NuGet存储库,可以很容易地在两种分支情况下使用。结帐如何创建一个本地的NuGet库here