无法在Visual Studio 2013中保存文件更改

8
我有一个Visual Studio 2013的解决方案,它在源代码控制(TFS,Visual Studio Online)下。它映射到本地工作区,我已经检出了一些文件(例如web.config,global.asax)。
当我尝试保存任何更改到文件时,会弹出“另存为”对话框,如果我点击保存,它会警告我该文件已经存在(比如web.config),并询问我是否要替换它。如果我点击“是”,我会得到一个错误对话框,上面写着“由于它正在被另一个进程使用,所以无法访问文件'...\wyfvmjia.p1p〜'”。我不知道这个文件是什么,也不知道它与我正在尝试保存的文件(web.config)有什么关系。
这真是令人恼火,非常感谢您的帮助!
编辑1:
看起来Visual Studio进程(devenv.exe)正在创建和删除同一文件夹中的随机临时文件(例如wyfvmjia.p1p〜),并在我尝试保存web.config时导致这些文件发生“共享违规”(我使用了一个Sys Internals实用程序来监视文件夹)。
编辑2:

这篇文章中的一条评论似乎表明,当您尝试在项目中保存文件时,VS2013会创建文件的副本,然后替换原始文件。这就解释了为什么我看到临时文件被创建和删除。但是奇怪的是我会得到“另存为”对话框。看起来好像某个其他进程(防病毒软件?)在VS能够处理它之前占用了临时文件?

编辑3:

我创建了一个只有一个program.cs文件的控制台应用程序项目,同样的事情也发生了。这可能是防病毒软件干扰VS2013“复制-替换”功能的问题。

编辑4:

更改标题。仍然没有找到解决方案。

编辑5:

请参见已接受的答案。抱歉没有早点回复。

14个回答

8
对于我来说,这与Google Drive有关。一旦我关闭了它,就能保存文件。

太棒了!真是让我抓狂,你的建议立刻解决了问题。谢谢! - Cydaps

3

尝试以管理员身份运行Visual Studio。


我曾经认为这是一个不错的解决方案。结果 Visual Studio 要求所有项目文件都需要管理员权限,不得不重新克隆整个项目。请注意。 - Prolog

2

我曾经遇到相同的问题,是由于“Google备份与同步”引起的。在关闭它之后,一切恢复正常。


2

可能是扩展程序的问题。或者你正在打开一些只读文件。

值得一提的是,有些扩展程序可以将你创建的任何文件变成只读文件,这可能会导致你遇到的相同结果。

因此,首先禁用所有扩展程序,并检查标签中文件名旁边的小图标,以确定是否为只读文件。


感谢@mr992,已点赞。请参见上面的EDIT 1,我不认为文件权限或扩展名会导致这个问题,但我可能错了!有没有一种简单的方法来查看和禁用解决方案的扩展名? - martijn_himself
1
为了保险起见,如果您还没有这样做,请转到“工具”->“扩展和更新...”,并禁用所有扩展。VS在运行过程中创建和删除临时文件非常常见。您是否在所有解决方案中都遇到了这个问题,还是只有在这一个解决方案中? - mrahhal
1
@martijn_himself 你检查过是否有“只读”图标吗?它就像在文件名后面的选项卡上的一个小锁图标。 - mrahhal
感谢您的评论。请参见编辑2。该文件已签出(没有锁定图标)。我还复制了解决方案并删除了与源代码控制的绑定,但问题仍然存在。我将查看一下,看看如果我从头开始创建新项目会发生什么情况(我刚安装了VS2013,并且这是第一个项目)。 - martijn_himself
@martijn_himself 好的,如果你还没有在你的杀毒软件中添加文件夹的例外,请添加一个新项目并重试。确保你添加了全局例外(适用于所有功能)。这取决于你所使用的杀毒软件。此外,为了确保安全起见,请不要启用你正在使用的版本控制系统(tfs)。 - mrahhal
显示剩余2条评论

2

原来这是由磁盘加密软件引起的。每次启动VS2013后禁用磁盘加密软件服务可以解决问题。我在早期版本的Visual Studio中没有遇到这个问题,可能是因为VS2013采用了我在原始问题中提到的新的复制替换循环。

对于没有回来评论和回答我的原始问题,我表示道歉,我完全忘记了它。


2
嗨。 :) 我要如何禁用磁盘加密软件?你能告诉我一些步骤吗?谢谢。 - ThEpRoGrAmMiNgNoOb
我喜欢人们停下来说“我修好了!”而不说明如何修好。就像...好吧,你很棒,但你只是在炫耀。 - Sean Kendle

1

1
我在公司电脑上遇到了同样的问题。我不得不卸载VS 2013 RC2并重新安装vs2013 ultimate。然后我必须经历更新1的更新过程。我相信这一定是Symantec渐进式扫描和VS 2013升级文件处理的原因。我想故事的寓意就是,如果它没坏,就不要修复它。

1
我通过使用git clone复制所有文件,然后删除所有旧文件并将复制的版本粘贴到其上来修复了我的问题。不确定这如何修复权限或杀毒软件拒绝许可,但它确实起作用了。

1

我也遇到了这个问题。当我卸载了VS 2013,改为安装了VS 2012之后,问题就消失了。对我来说已经足够好了。


0

我尝试了这里的所有建议,但都没有起作用。然后,在 Visual Studio 中打开修改后的文件,浏览到磁盘上的文件并将其删除。然后点击构建,保存文件对话框不再弹出。我能够构建和检入。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接