每当我尝试从VS2015 C ++项目中删除(甚至排除)任何文件时,都会收到以下消息:
文件'...'无法删除。最可能的原因是该文件受源代码控制,目前无法删除。
尝试搜索此错误消息在任何地方都没有结果-我是唯一收到此错误消息的人吗?
我使用perforce,并且所有文件都已检出,因此VS应该不了解版本控制。
我能找到的唯一解决方案是手动从vcxproj文件中删除文件,这很繁琐。
更新:问题似乎出在Perforce插件上。禁用它可以让我再次删除文件。这很奇怪,因为我从未为此特定项目配置它。我还尝试将源代码控制切换为“无”,但是每次我重新启动VS时,它都会保持重置状态。
答案 0 :(得分:4)
我只是在Visual Studio 2017中遇到了这个问题。我做了一些相当广泛的故障排除,发现了一种解决方法:
File / Open Connection to a Perforce Depot...
Perforce Source Control
下的“输出”选项卡中看到警告对话框或警告行,上面写着类似"Solution is not under your client's root folder"
。如果您没有看到任何一个,则可能应该将整个解决方案移到客户端规范中未包含的位置(如果可能的话),或者将整个解决方案文件夹从perforce客户端规范中排除。这样,P4VS不应在该解决方案中自动将文件添加到Perforce。导航至:
Tools / Options / Source Control / Perforce - General
...并取消选中此选项以禁止步骤3中烦人的警告对话框,否则每次您打开该解决方案时都会出现该对话框:
Warn if solution is outside workspace root
现在,您应该能够再次删除文件,而不会受到P4VS的干扰。 (警告:此替代方法可能会产生我不知道的其他副作用,但到目前为止对我有用。)
答案 1 :(得分:0)
对我没有任何帮助,所以我只是在文本编辑器中打开了项目文件,然后手动删除了有问题的文件。在某些时候,我的构建目标也发生了变化,因此发生这种情况的可能原因是我试图删除文件,而选择了与添加文件时不同的构建目标。