Version control 将NuGet用于内部和外部;TFS中的外部依赖关系
我目前正在寻找NuGet来解决TFS中的依赖性问题,我想做的是托管我自己的NuGet服务器来处理内部依赖性。我还想使用NuGet处理我的第三方依赖关系。我正试图为我们的公司建立自动构建,这是我试图用NuGet克服的一个障碍 所以我的问题是,我如何处理这种情况,在这种情况下,我必须从不同的服务器检索依赖关系? 有没有更好的方法来处理内部依赖关系?其他人是怎么做到的? 还需要注意的是,我打算在不向TFS提交包的情况下使用NuGet。我计划使用本文中的方法大纲: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软件
很高兴您正在研究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
(页面底部)注释掉这行。+1我会试试这个。谢谢你的意见。你目前正在使用这个策略吗?不客气!是的,我是。这只是故事中的消费部分,这正是你所要求的。还有一些方法可以在生成后自动生成包。因此,当您想从包含nuget包的项目中调试一个内部DLL时,您只是将引用更改为指向调试版本,还是项目的调试设置以某种方式拉动调试依赖项?这是我看到的拥有这种系统的缺点之一。好问题!因为您使用的是TFS,它有一个内置的符号服务器,所以有一个解决方法。如果内部DLL在自动生成过程中将其符号发布到符号服务器,并且消费项目配置为使用此符号服务器(Visual Studio选项),则消费项目将能够单步执行代码,就像它们在本地拥有pdb一样。(非tfs用户可以使用私有symbolsource.org存储库并发布nuget符号包)。此设置对我有效。使用者将需要对其要单步执行的内部dll的源具有读取权限。使用内置符号服务器时,会自动应用TFS源代码管理安全性。总而言之:如果您没有对源代码的读取权限,您将无法逐步浏览它们,我认为这是有道理的;-)