Visual Studio2013年和2015年保存失败
Visual Studio 2013 and 2015 saving fails
保存源文件时,例如.cs 我经常得到以下
- 单击保存、全部保存或构建(触发保存的任何操作)
- VS 使用 "Save As" 对话框进行提示
- 选择与原始文件名相同的文件名通常会失败并显示 "Cannot create a file when that file already exists"
在 "Save As" 阶段等待最多 30 秒通常会成功。
到目前为止我已经尝试过的事情
- 禁用防病毒 - 无效
- 从本地工作区(我们使用 TFVC)切换到服务器工作区 - 问题消失了
- 在 VS 之外修改相同的文件 - 使用记事本/记事本 ++ 可以正常工作
- 禁用所有插件/扩展 - 无效
- 删除工作区并重新创建 - 最初不太常见的问题然后又恢复常见
- 未发现问题的开发人员的相同源代码 - 他们看不到问题
- 运行 虚拟机上的 VS 而不是我们的普通工作站 - 同样的问题
- 将 TFS 从 2013 升级到 2015 - 同样的问题
- 工作区的大小似乎不相关。已发现小型和大型(>100k 文件)的问题
这些暗示问题与工作站或用户有关。与源代码管理无关。与 Visual studio
有关
其他信息
- 我们不使用驱动器加密
- 源代码驱动器是 RAID 1 ssd
- VS 通过在同一目录中创建一个新的临时文件然后重命名来保存文件。通过监视文件系统,我可以看到正在创建的临时文件,所以看起来重命名会引发错误。
MS connect 中存在类似问题,已标记为已修复:
https://connect.microsoft.com/VisualStudio/feedback/details/860265/unable-to-save-files-in-vs-2013-update-2-rc2
上述问题中提到的错误消息似乎有所不同,创建现有文件与进程正在使用文件
这影响了 40 位开发人员中的大约 15 位,并且解决方法相当分散注意力。我们有解决方法,但最好知道原因
找到了原因 - 一种名为 Avecto 的安全产品。看起来像是在 1 月份左右部署的更新。
移除 Avecto 可解决此问题。仅禁用 Defendpoint 服务是不够的,必须将其完全卸载。 Infra 无疑会向我们的供应商提出错误。
它只影响 ssd 上的文件,无法重现 hdd 上的文件,这就是为什么不是每个人都受到影响
2016-04-25 更新:Avecto 对此进行了修复。我不知道细节(由另一个团队管理),但自从应用它后我们没有遇到任何问题。
保存源文件时,例如.cs 我经常得到以下
- 单击保存、全部保存或构建(触发保存的任何操作)
- VS 使用 "Save As" 对话框进行提示
- 选择与原始文件名相同的文件名通常会失败并显示 "Cannot create a file when that file already exists"
在 "Save As" 阶段等待最多 30 秒通常会成功。
到目前为止我已经尝试过的事情
- 禁用防病毒 - 无效
- 从本地工作区(我们使用 TFVC)切换到服务器工作区 - 问题消失了
- 在 VS 之外修改相同的文件 - 使用记事本/记事本 ++ 可以正常工作
- 禁用所有插件/扩展 - 无效
- 删除工作区并重新创建 - 最初不太常见的问题然后又恢复常见
- 未发现问题的开发人员的相同源代码 - 他们看不到问题
- 运行 虚拟机上的 VS 而不是我们的普通工作站 - 同样的问题
- 将 TFS 从 2013 升级到 2015 - 同样的问题
- 工作区的大小似乎不相关。已发现小型和大型(>100k 文件)的问题
这些暗示问题与工作站或用户有关。与源代码管理无关。与 Visual studio
有关其他信息
- 我们不使用驱动器加密
- 源代码驱动器是 RAID 1 ssd
- VS 通过在同一目录中创建一个新的临时文件然后重命名来保存文件。通过监视文件系统,我可以看到正在创建的临时文件,所以看起来重命名会引发错误。
MS connect 中存在类似问题,已标记为已修复: https://connect.microsoft.com/VisualStudio/feedback/details/860265/unable-to-save-files-in-vs-2013-update-2-rc2
上述问题中提到的错误消息似乎有所不同,创建现有文件与进程正在使用文件
这影响了 40 位开发人员中的大约 15 位,并且解决方法相当分散注意力。我们有解决方法,但最好知道原因
找到了原因 - 一种名为 Avecto 的安全产品。看起来像是在 1 月份左右部署的更新。
移除 Avecto 可解决此问题。仅禁用 Defendpoint 服务是不够的,必须将其完全卸载。 Infra 无疑会向我们的供应商提出错误。
它只影响 ssd 上的文件,无法重现 hdd 上的文件,这就是为什么不是每个人都受到影响
2016-04-25 更新:Avecto 对此进行了修复。我不知道细节(由另一个团队管理),但自从应用它后我们没有遇到任何问题。