gpt4 book ai didi

tfs - 让 TFS 忽略我的包文件夹

转载 作者:行者123 更新时间:2023-12-02 01:33:18 25 4
gpt4 key购买 nike

我正在尝试让 TFS (2013) 忽略我的 packages 文件夹。我非常不希望它受到源代码控制,因为我正在使用 NuGet,它非常棒!

我尝试过隐藏(似乎不起作用),我尝试过添加 .tfignore 文件 - 没有任何内容被忽略。为什么 TFS 团队不像许多 Subversion 客户端那样添加一个选项来永久忽略文件夹或文件?!

最佳答案

事情是这样的:我们必须告诉 NuGet TFS 忽略这些包,因为 NuGet 正在尝试做与源代码控制相关的事情,而这是绝对不应该做的(形式不好,微软!)。所以你必须做两件事。

首先,将名为 .tfignore 的文件添加到解决方案文件夹(请注意 tf 后面缺少 s)。其内容应如下所示:

\packages

这告诉 TFS 忽略您的包文件夹。现在,您会认为这也会忽略repositories.config 文件。但它不会。为什么?谁知道,微软的做法诡异而神秘。实际上,我认为这是我在下面概述的 NuGet 内容的一部分,但如果将来这个问题得到解决,并且您想保留 repositories.config 文件而不是让 VS 重新生成它,那么您应该可以使用这个:

\packages
!\packages\repositories.config

好的,现在多亏了我们的 .tfignore 文件,TFS 正在忽略您的包。一切都很好,对吧? 错误,因为 NuGet 正在处理您的源代码管理并将包添加到您的待处理更改中。现在让我们告诉 NuGet 将其删除。

在解决方案文件夹的根目录中创建一个名为 .nuget 的文件夹。1 现在,创建一个名为 NuGet.config 的文件,然后将其放入这个新文件夹2中。其内容应如下所示:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
</configuration>

并且现在您的包应该不受源代码控制。只需记住将 NuGet.config.tfignore 文件添加到源代码管理中,这样它们就不会丢失。

编辑:如果您遇到问题,您可能需要删除软件包文件夹, checkin 该更改,然后执行上述步骤。

另编辑:看起来新版本的 Nuget 不会发生这种情况。因此,如果您切换到 VS/TFS 2017,这个问题也许会得到解决,而无需跳过上述障碍。

<子>1。使用源代码管理资源管理器添加文件夹;右键单击解决方案->添加文件夹->.nuget
<子>2。当我使用 VS 2013 解决这个问题时,我发现 NuGet.config 必须放在 .nuget 文件夹中。即使您的解决方案文件夹的根目录中已经有一个 NuGet.config 文件(因为,比如说,您的公司有一个内部 nuget feed)。然而,评论中的一些人表示它在 VS 2015 的解决方案根目录中运行良好。就我个人而言,我切换到在 git 模式下使用 TFS,所以我无法测试。此外,如果您确实有自定义源,请确保将自定义源和 nuget.org 作为 Nuget.config 文件中的键,否则有时 TFS 会随机决定无法恢复包。

关于tfs - 让 TFS 忽略我的包文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24143925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com