如何从 TFS 控制下的项目中删除一个空文件夹?

Posted

技术标签:

【中文标题】如何从 TFS 控制下的项目中删除一个空文件夹?【英文标题】:How to remove a empty folder from a project under TFS control? 【发布时间】:2011-03-28 14:25:42 【问题描述】:

假设我有一个项目 MyLib,在该项目下,我创建了一个文件夹,比如 Folder1。此文件夹下没有文件。 该项目已连接到 TFS。

然后我想删除这个文件夹Folder1。我从上下文菜单中将其删除,并将项目签入 TFS。

然后我用 Team Explore->Source Control 检查 TFS 上的数据,Folder1 被删除。 但它仍然存在于本地计算机上的 VS 2010 中。 我关闭了 VS 2020 并从寡妇探索中删除了 Folder1。 然后再次打开VS 2010,Folder1还在。我无法从 MyLib 本地删除它!

困惑。如何解决这个问题?

【问题讨论】:

谢谢。尝试按照您所说的获取特定版本,删除的文件夹仍然存在。然后尝试再次删除它或从项目中排除,得到以下错误:无法完成此操作。您正在尝试移除或删除一个源代码管理项目,其中该项目在其他地方被独占锁定或无法从源代码管理中删除。有什么想法吗? 【参考方案1】:

您可以尝试获取特定版本。在源代码管理中右键单击文件的父文件夹并选择获取特定版本。它将打开获取窗口,这里选择类型为最新版本并检查两个可用的复选框选项。

【讨论】:

【参考方案2】:

抱歉回复晚了,我没看你的回复。

上述错误表明该文件夹可能已被其他用户签出并锁定。

在源代码管理中,您能看到文件夹的状态为 Checkout & lock 吗?

如果是,您可以使用 TFS Sidekicks 工具的 Status Sidekick 并尝试解锁文件夹 (http://www.attrice.info/cm/tfs/)。

然后,再次尝试删除该文件夹。

【讨论】:

【参考方案3】:

您需要执行以下操作:在项目的正确目录中创建一个同名的物理文件夹。签入所有内容。一旦它们同步,您就可以从 vs 中删除文件夹并再次签入您的程序。

【讨论】:

【参考方案4】:

执行以下操作:

    在 Visual Studio 中,打开“解决方案资源管理器”。

    右键单击有问题的项目,然后选择“卸载项目”。

    右键单击已卸载的项目(应该是分级),然后选择“编辑(项目)”。

    在 XML 编辑器(刚刚打开)中搜索有问题的文件夹名称(CTRL+F 调出“搜索”窗口,并在当前文档中搜索文件夹名称)。

    搜索完成后,应在 XML 编辑器中突出显示包含文件夹名称的 XML 节点(大多数情况下,它位于告诉 Visual Studio 在编译中包含相关文件夹的节点中项目(通过 MSBuild))。只需删除包含文件夹名称的节点即可。

    保存更改,然后关闭编辑器。

    返回解决方案资源管理器,右键单击灰显的项目,然后选择“重新加载项目”。

    编译并签入项目。确保从 Windows 资源管理器中删除物理文件夹(如果它仍然存在)。

Hakam Fostok 编辑: 如果您的项目在 TFS 下,那么在应用前面的步骤之后,您可能需要打开 Source Controler Explorer 并从那里删除文件夹

【讨论】:

在我看来,这更像是一种解决方法,而不是这个问题的真正解决方案! 这很好用,evino xml 是您在 Visual Studio 中看到的 gui 解释背后的代码结构。为什么这与将其从项目或解决方案中删除相同。 备份!在进行 XML 更改之前【参考方案5】:

如果您右键单击项目并选择编辑项目文件,则可以删除违规文件夹的条目。保存并重新加载项目后,您可以从硬盘驱动器和源代码管理中删除文件夹。

【讨论】:

【参考方案6】:

只需在文件夹中创建一个文件并将其与新文件一起删除即可。当您尝试删除空文件夹时,TFS 会出现一些问题。

【讨论】:

也可以转到“要删除的文件夹”的父级,然后尝试删除 - 它有效:-) 在某个文件夹下创建了一个文件,但仍然无法删除该文件夹。为什么它适用于其他人? (VS2012) 我做了这个没用,但是我签到的时候就成功了。【参考方案7】:

我尝试了添加新文件然后删除包含该文件的文件夹的解决方案,但失败了。

我的解决方案是先删除物理文件夹,然后将代码登录到 TFS。 (您将看到更改列表包括文件夹的删除。)

登录后,您将能够在解决方案资源管理器中删除该文件夹。

【讨论】:

【参考方案8】:

只需在其中创建一个文件(例如类文件)-签入,然后在签入后(成功)-删除即可。

所以简单地说:签入然后删除,它会起作用..

【讨论】:

以上是关于如何从 TFS 控制下的项目中删除一个空文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

git-tfs clone 创建空文件夹

Visual Studio 版本管理从TFS迁移到SVN

VS清除打开项目时的TFS版本控制提示

是否可以禁用/控制 TFS 用户(本地)在 TFS 项目下创建新文件夹?

从 ASP.Net 5“空”项目中删除 Kestrel

VBA - 从列表框中删除空项目