【问题标题】:Can't delete files from visual studio project无法从 Visual Studio 项目中删除文件
【发布时间】:2018-09-19 07:27:29
【问题描述】:

每当我尝试从我的 VS2015 C++ 项目中删除(甚至排除)任何文件时,我都会收到以下消息:

无法删除文件“...”。最可能的原因是该文件受源代码控制,此时无法删除。

尝试搜索此错误消息在任何地方都没有结果 - 我是唯一一个得到它的人吗?

我用perforce,所有文件都签出,所以VS应该对版本控制一无所知。

我能找到的唯一解决方案是手动从 vcxproj 文件中删除文件,这非常繁琐。

更新:问题似乎出在 Perforce 插件上。禁用它可以让我再次删除文件。这很奇怪,因为我从未为这个特定项目配置它。我也尝试将源代码控制切换为无,但每次重新启动 VS 时它都会重置。

【问题讨论】:

  • 这发生在我身上。我必须卸载 Perforce 插件,重新启动 Visual Studio,然后才能删除文件。只是禁用插件没有效果:(

标签: visual-studio visual-studio-2015


【解决方案1】:

我刚刚在使用 Visual Studio 2017 时遇到了这个问题。我进行了一些非常广泛的故障排除,并找到了解决方法:

  1. 打开您遇到此问题的解决方案/项目。
  2. 打开与 perforce 库的连接 - 即使您的解决方案不应该由 Perforce 管理 - 使用此选项:File / Open Connection to a Perforce Depot...
  3. 您应该会在Perforce Source Control 下的“输出”选项卡中看到一个警告对话框或一条警告行,上面写着类似"Solution is not under your client's root folder" 的内容。如果您也没有看到,您可能应该将整个解决方案移动到不在您的客户端规范中的位置(如果可能),或者从您的 perforce 客户端规范中排除整个解决方案文件夹。这样一来,P4VS 就不会自动将该解决方案中的文件添加到 Perforce。
  4. 导航到:

    Tools / Options / Source Control / Perforce - General

    ...并取消选中此选项以抑制第 3 步中令人讨厌的警告对话框,否则每次打开该解决方案时都会出现该对话框:

    Warn if solution is outside workspace root

现在,您应该能够在不受 P4VS 干扰的情况下再次删除文件。 (公平警告:此解决方法可能有其他我不知道的副作用,但到目前为止它对我有效。)

【讨论】:

    【解决方案2】:

    没有什么对我有用,所以我只是在文本编辑器中打开项目文件并手动删除了有问题的文件。在某些时候,我的构建目标也发生了变化,因此发生这种情况的一个可能原因是我试图删除这些文件,而在添加它们时选择了不同的构建目标。

    【讨论】:

      猜你喜欢
      • 2011-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多