使用TFS 2010进行依赖管理

ale*_*kow 6 tfs visual-studio-2010 dependency-management tfs2010

使用TFS 2010管理依赖关系的最佳方法是什么?

编辑:我想知道是否有一个像Maven或NuGet这样的系统允许在TFS 2010中轻松管理.dll(外部或由我们的团队创建)的依赖关系.但是我们面临的问题是我们希望能够如果它们有效,则修改我们的dll代码并进行实时测试(不发布新包).

Jim*_*amb 7

实际上,调用NuGet作为预构建步骤非常容易.您可以使用NuGet引用覆盖项目的*.*proj文件中的BeforeBuild目标.

<Target Name="BeforeBuild">
  <Exec Command="&quot;$(SolutionDir)Tools\nuget&quot; install &quot;$(ProjectDir)packages.config&quot; -o &quot;$(SolutionDir)Packages&quot;" Condition="'$(BuildingInsideVisualStudio)'==''" />
</Target>
Run Code Online (Sandbox Code Playgroud)

正如上面的代码段所示,您需要下载NuGet命令行实用程序,将其放在解决方案文件夹下的文件夹中,然后将其检入版本控制.请注意,您下载的可执行文件实际上是一个启动程序,您需要运行一次以下载真正的可执行文件.

接下来,您需要从项目目录中检入packages.config文件,但不要检查解决方案目录下的packages文件夹.需要注意的是,我们提供了$(BuildingInsideVisualStudio)的支票在上述预生成步骤进行设置.这将导致在使用TFS构建服务(或从命令行)构建时,在构建时下载和安装软件包.它不会影响您在Visual Studio中的NuGet体验.

您可以搜索有关使用TFS自动创建NuGet包的文章 - 很多人都在博客上发表过这篇文章.两者的结合使得非常有能力的依赖管理解决方案成为可能.现在我们只需要在TFS中内置一个NuGet feed;).


tak*_*krl 6

如果您的问题涉及管理您自己构建的公共库的外部项目依赖项,则有些人会将此子系统称为分支依赖项复制.

以下是处理此主题的文章的三个链接:

http://geekswithblogs.net/terje/archive/2008/11/02/article-on-subsystem-branching.aspx

http://blog.ehn.nu/2009/03/implementing-dependency-replication-with-tfs-team-build/

http://blog.ehn.nu/2010/12/dependency-replication-with-tfs-2010-build/

我刚碰巧有这些,因为我正在寻找一种方法来处理这些东西.