Jas*_*Cav 13 version-control nuget
因此,我想使用NuGet来管理我用于我的团队和我正在进行的特定项目的各种项目.到目前为止,我已将我的.js库文件放在我的Web解决方案(ASP.NET MVC 2)的/ Scripts目录中并引用了这些文件.当然,这是手动的,在升级期间管理很烦人等.
现在我正在使用NuGet,我意识到NuGet的整个目标是让它相当无痛.此外,似乎我不应该将我的包检查到我的存储库(AKA我不再需要管理我的外部库).但是,当我从NuGet中获取jQuery(例如)时,它会将其特定文件放在我项目的/ Scripts目录中.
我感到困惑的地方 - 如果有什么,我应该在此时检查源代码管理?我还在检查/ Scripts目录吗?
此外,如果其他人正在处理此项目并从源代码管理中检出解决方案,是否会自动下载软件包(假设解决方案附带有效的packages.config)?
在我们开始全职使用NuGet之前,我只想澄清几点.
Xav*_*ter 13
NuGet与VCS有两种情况:办理登机手续或不办理登机手续,这就是问题所在.两者在我看来都是有效的,但是当使用TFS作为VCS时,我肯定会选择NuGet包的禁止签入策略.
话虽这么说,即使对NuGet包使用no-checkin策略,我仍然会检查这些NuGet包对我的项目所做的内容更改.该\Scripts文件夹将完整地签入(不是选择性的,不会被忽略).
包裹给我的no-checkin策略意味着:不检查\ Packages文件夹(隐藏它,忽略它),\Packages\repositories.config文件除外.
因此,你实际上没有提交任何NuGet包,并且当Enable-PackageRestore从NuGetPowerTools 使用时(这将在NuGet v1.6中内置),任何检查代码和构建的机器都将获取所有必需的Nubuet在预构建步骤中的依赖关系.对于本地开发机器和构建服务器都是如此,只要Enable-PackageRestore在您的解决方案中启用并指向正确的NuGet存储库(本地,内部,外部).
如果你考虑一下,当安装一个仅添加对某些二进制文件的引用的NuGet包时,你已经在no-checkin场景中做了同样的事情:你不会提交\Packages文件夹的子文件夹,但是,你仍然会提交项目变更(添加的参考).
我会说,保持一致(对于任何类型的包),它是仅包含二进制文件,仅包含内容还是混合.不要自己提交包,请将更改提交到源.(如果只是为了避免查找改变内容的麻烦)
| 归档时间: |
|
| 查看次数: |
2239 次 |
| 最近记录: |