问题 编辑和保存文本文件始终显示“另存为”对话框


我一直想使用Visual Studio 2013 Preview来编辑一些简单的Python脚本。我打开脚本,像往常一样编辑。但当我点击“ctrl-s”时,Visual Studio 2013 Preview会将我带到“另存为”对话框。

文件名未更改,文件路径正确,因此不会造成损坏。

如何解决这个问题让我能够按照我的预期进行保存?


12825
2017-07-26 21:20


起源

你在运行Resharper 8吗?我已经看过R8的这个问题,但想知道它的VS2013或Resharper是否是问题所在 - Dr. ABT
@ Dr.ABT我和微软开了一张支持票。我也在使用Resharper 8,但我认为问题出在Visual Studio上。 connect.microsoft.com/VisualStudio/feedback/details/798820/... - Sparda
干得好,如果得到回复,请告诉我!这个问题影响了整个团队...... - Dr. ABT
@ Dr.ABT收到回复。他们表示问题已得到修复,补丁将在未来的更新中发布。 - Sparda
繁荣。谢谢 - 欣赏它 - Dr. ABT


答案:


尝试以管理员身份运行VS或更改文件的权限(右键单击它并单击属性),看看它是否标记为只读。


10
2017-07-26 21:38



谢谢,以管理员身份运行修复了这个问题。 - SheerSt
如果这有效,请作为答案!谢谢! - Aviatrix
“以管理员身份运行”对我不起作用。每当我按住Ctrl + S时,它会弹出SaveAs对话框。如果我按下(快速)Ctrl + S,则对话框不会显示。它只在我按住时出现。注意:我也在使用Resharper8和VS2013。 - Dio Phung
@DioPhung请参阅上面的评论。这是一个已知问题,补丁即将推出。 - Sparda
@Sparda谢谢,所以这是一个预发布的bug然后... - Dio Phung


如果打开文件进行读取,Visual Studio 2012会显示相同的行为。

你可以使用。来验证这一点 处理 来自SysInternals的实用程序。

[16:52:37] C:\windows\system32>
$  handle filepath

Handle v3.51
Copyright (C) 1997-2013 Mark Russinovich
Sysinternals - www.sysinternals.com

iisexpress.exe     pid: 8896   type: File           D04: C:\Projects\filepath.js

以下代码段导致了这种情况:

var hash = Convert.ToBase64String(new MD5CryptoServiceProvider().ComputeHash(IO.File.OpenRead(filePath)));

完成后正确关闭流:

string hash = null;
using (fileStream == File.OpenRead(filePath)) {
    hash = Convert.ToBase64String(new MD5CryptoServiceProvider().ComputeHash(fileStream));
}

2
2017-11-28 16:05





面对相同的问题,因为光盘上没有空间。一旦我清理了一些空间,VS就开始工作了。


0
2017-09-08 22:03





尝试保存css文件(SASS .scss文件)时遇到了同样的问题。我试图以管理员身份运行并检查文件以确保它不是只读的,并且还关闭了所有其他相关进程(这是一个正在被gulp监视的SASS文件)。它仍然不允许我正常保存,当我尝试通过另存为对话框保存时,它说它被另一个进程锁定。然后我去重新启动我的VM,Windows 10告诉我有未决的更新。我应用了更新并重新启动,问题就消失了。我的猜测是,在我的情况下,挂起的更新锁定了事情,解释了为什么我不能再保存。


0
2017-09-13 16:42