无法在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个回答

0
对我来说,这是关于Windows的受控文件夹访问(Controlled Folder Access),尽管我并没有收到标准的警告/错误提示。在“允许应用程序通过...”中,我不得不添加。
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\WDExpress.exe

0

martijn_himself听起来是正确的,问题可能是由于磁盘加密软件引起的。当我在磁盘加密软件上更改设置(域等)时,这个问题就在我的电脑上开始了。仅通过 VS2013 的简单“更新 2”即可解决此问题。


0
我在一个项目中只有一个HTML文件出现了同样的问题。对我来说,似乎与我用来上传此HTML文件到CRM系统的VPN有关。每当它开启时,它似乎会以某种方式“阻止”该文件。当我关闭正在上传HTML文件的窗口后,就可以毫无问题地保存了。

0

(来自谷歌的备份和同步) 当我关闭它时,问题消失了


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