TFS应该在源代码管理中存储通过NuGet安装的JavaScript包吗?

时间:2016-05-16 09:52:20

标签: javascript tfs visual-studio-2015 nuget nuget-package

我在VS2015的第一个项目是一个MVC项目。在围绕TFS源代码控制与NuGet发生冲突的各种问题上进行了斗争,我找到了这个答案 - Get TFS to ignore my packages folder - 希望能够解决这个问题。

但是,这个项目在JavaScript库中有相当多的外部依赖关系,我也是通过NuGet提取的。这样做会将它们加载到my / Scripts /文件夹中,如您所料。但是,TFS也希望将它们置于源代码管理中。

这似乎是在消除NuGet的重点,就像存储软件包一样。我应该为将它们保持在源代码管理中感到高兴吗?如果没有,我如何排除它们(我尝试添加我的.tfignore文件的路径无效)?

2 个答案:

答案 0 :(得分:1)

$(Solutiondir)\Packages是下载/缓存解决方案中使用的所有nuget包的地方,不需要在源代码管理下使用此文件夹。

另一方面,复制到项目文件夹中的Nuget content 包(如jQuery)中的文件应受源代码管理。这些文件最初来自nuget包,但您应该将它们视为项目的一部分。

jQuery Nuget package content

答案 1 :(得分:1)

在源代码管理下的/ packages /文件夹下不应该有任何内容。

如果您有标准的.tfignore文件,Visual Studio中的默认行为是排除它们,但是......

...如果您已经将它们添加到解决方案中,则必须手动将其排除,因为VS会覆盖忽略。在visual studio中删除您从源代码中看到的文件,一旦您从nuget获取,您将必须"撤消待定更改"对于packages文件夹,然后可能将它们标记为忽略。

应该发生的是,当.tfignore文件启动时,它们将会消失,而不是最终出现在忽略列表中。