【发布时间】:2018-07-15 17:44:14
【问题描述】:
我在使用 Visual Studio (2017) 时遇到问题,有时它无法识别更改或突然恢复到文件的旧版本,尤其是在更新 Startup.cs 等资源或其他已编译资源时。
有几次事情一直很好,突然事情爆炸了,在搜索代码后,我发现一个已经更新的文件已经回到了以前的版本。我只处理本地文件,不使用 Git 等...
我已尝试清理有时可以解决问题的整个解决方案,所以可能部分是缓存问题?
有时编译器错误会突然发生,即使在清理解决方案之后,修复它的唯一方法是关闭 VS,删除所有 obj 和 bin 文件夹,重新启动然后重建。
我注意到的一件事是有时VBSCompiler.exe 会挂起,即使在关闭 VS 并且必须手动终止之后也是如此。我还注意到,在多个显示器上使用“固定”选项卡或多个窗口会使这个问题变得更糟,更不用说打开 VS 时出现间歇性错误了。
这使我认为某些服务(可能是 IIS?)正在锁定文件,但是 VS 启动了一个新服务并打开了文件的副本,即使在确保 VBSCompiler 没有挂起之后也是如此,因为以前的服务仍然具有文件锁定,它不会覆盖文件,但不会产生错误,这让我认为文件是当前的,直到两个进程都关闭。当文件被解锁并再次打开时,它是一个旧版本。
我认为最后一个事件支持这一点,我从 VS 的解决方案中删除了一个项目,保存了解决方案,清理了解决方案,关闭了 VS,检查是否有任何类似上述的服务仍在运行并删除了该项目磁盘上的文件。我清空了回收站,但在启动 VS 之前没有让它完全完成,并收到文件 %SugZuy/ClientApp 被锁定且无法删除的错误,重启后项目已从解决方案中删除,当我关闭 VS并选择“再试一次”它能够继续。
我尝试禁用备份文件、跟踪、始终在构建之前清理整个解决方案,以及我在网上找到的关于 IIS 和 VSBCompiler 问题的一些建议,但仍然没有成功。最后一点,这一切都在全新安装的 VS(2017 社区)和 Windows 10 Pro 上,并从新的解决方案和项目(使用 .Net Core Angular 模板)开始,以尝试解决此问题。
【问题讨论】:
-
你的VS2017版本号是多少?
-
@LasseVågsætherKarlsen Microsoft Visual Studio 社区 2017,版本 15.7.5
-
docs.microsoft.com/en-us/visualstudio/ide/… 不要浪费时间去猜测。请与 Microsoft 联系,如果可能,请向他们提供更多信息以帮助重现问题。
-
@LexLi 我已经通过我的戴尔支持合同(我做过的最糟糕的决定)以某种方式走上了这条路。我一无所获,部分原因是这个问题。
标签: c# visual-studio visual-studio-2017 asp.net-core-2.0