Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Version control 将NuGet用于内部和外部;TFS中的外部依赖关系_Version Control_Tfs_Nuget_Tfsbuild_Nuget Server - Fatal编程技术网

Version control 将NuGet用于内部和外部;TFS中的外部依赖关系

Version control 将NuGet用于内部和外部;TFS中的外部依赖关系,version-control,tfs,nuget,tfsbuild,nuget-server,Version Control,Tfs,Nuget,Tfsbuild,Nuget Server,我目前正在寻找NuGet来解决TFS中的依赖性问题,我想做的是托管我自己的NuGet服务器来处理内部依赖性。我还想使用NuGet处理我的第三方依赖关系。我正试图为我们的公司建立自动构建,这是我试图用NuGet克服的一个障碍 所以我的问题是,我如何处理这种情况,在这种情况下,我必须从不同的服务器检索依赖关系? 有没有更好的方法来处理内部依赖关系?其他人是怎么做到的? 还需要注意的是,我打算在不向TFS提交包的情况下使用NuGet。我计划使用本文中的方法大纲: 很高兴您正在研究TFS上NuGet软件

我目前正在寻找NuGet来解决TFS中的依赖性问题,我想做的是托管我自己的NuGet服务器来处理内部依赖性。我还想使用NuGet处理我的第三方依赖关系。我正试图为我们的公司建立自动构建,这是我试图用NuGet克服的一个障碍

所以我的问题是,我如何处理这种情况,在这种情况下,我必须从不同的服务器检索依赖关系? 有没有更好的方法来处理内部依赖关系?其他人是怎么做到的? 还需要注意的是,我打算在不向TFS提交包的情况下使用NuGet。我计划使用本文中的方法大纲:


很高兴您正在研究TFS上NuGet软件包的无提交场景。你可以看看这个话题,我在这里解释这个概念

编辑(2012/06/13):NuGetPowerTools被NuGet内置的包还原功能所取代。但是,更改nuget.targets中PackageSources元素的相同概念仍然适用。

你绝对应该看看大卫·福勒的。 安装此软件包后,可以启用PackageStore(软件包管理器控制台中新安装的命令),该命令将添加。。。 启用包还原将向项目文件中添加MSBuild目标。这些MSBuild目标将在预生成步骤中触发nuget.exe,并获取项目所需的任何包。 无需在源代码管理中签入NuGet包,只需packages.config和这些msbuild任务

要配置多个不同的包源,需要设置这些MSBuild任务要使用的一些设置。其中之一是包装资源。您可以通过编辑NuGet.targets文件进行设置,启用包还原后,您将在.NuGet文件夹中找到该文件

关于这些包源,您可以设置不同的内部NuGet库,或者只需设置要使用的不同网络共享。这是一个需求和偏好的问题,因此您可以选择。您需要做的就是告诉您的msbuild目标使用这些packagesources。您定义它们的顺序也将是包的查找顺序

祝你好运!
Xavier

关于公认答案和问题的更新很少:

在将TFS用作未安装visual studio的构建机时,可以执行以下操作,以便构建机自动使用自定义的packageSources(同一解决方案中有多个packageSources),而无需在解决方案中进一步配置packageSources

  • 使用以下示例在根目录(C:\NuGet.config)中放置一个NuGet.config,创建一个机器默认配置:


  • 用:
    (页面底部)注释掉这行。

    +1我会试试这个。谢谢你的意见。你目前正在使用这个策略吗?不客气!是的,我是。这只是故事中的消费部分,这正是你所要求的。还有一些方法可以在生成后自动生成包。因此,当您想从包含nuget包的项目中调试一个内部DLL时,您只是将引用更改为指向调试版本,还是项目的调试设置以某种方式拉动调试依赖项?这是我看到的拥有这种系统的缺点之一。好问题!因为您使用的是TFS,它有一个内置的符号服务器,所以有一个解决方法。如果内部DLL在自动生成过程中将其符号发布到符号服务器,并且消费项目配置为使用此符号服务器(Visual Studio选项),则消费项目将能够单步执行代码,就像它们在本地拥有pdb一样。(非tfs用户可以使用私有symbolsource.org存储库并发布nuget符号包)。此设置对我有效。使用者将需要对其要单步执行的内部dll的源具有读取权限。使用内置符号服务器时,会自动应用TFS源代码管理安全性。总而言之:如果您没有对源代码的读取权限,您将无法逐步浏览它们,我认为这是有道理的;-)