Visual Studio 2015 崩溃问题

74

Visual Studio 出现无法修复的问题...
每当我想在 VS 2015 上编译一个应用程序时,它就会崩溃。 即使我想要编译主函数或往里面写点东西,都会出现一个窗口,上面写着:

Visual Studio 2015 已停止工作。

在 2013 Express 版本上也是一样的。 我有一个线索为什么它不能工作:当我打开 Team Explorer 时,会出现一个错误:

页面“3185ed96-1cbd-4381-a439-636973542e50”未找到。

我尝试了我在互联网上找到的所有方法,相信我 - 没有任何有效的解决方案。 我还尝试了一些命令提示符命令:

devenv.exe/ debug  
devenv.exe/ resetsettings  
devenv.exe/ instalvstemplates  
devenv.exe/ resetskippings  
devenv.exe/ resetuserdata  
devenv.exe/ setup  
devenv.exe/ safemode  

调试模式为我提供了一些关于错误的信息:

发生了未处理的异常类型 'System.InvalidOperationException',位于 mscorlib.dll 中

附加信息:该功能需要安装 'Microsoft.Internal.VisualStudio.Shell.Interop.SVsUIThreadInvokerPrivate' 服务才能正常工作。请确保此服务可用。 HRESULT = 0x80004002

在构造此框架的内容时遇到了异常。这些信息也记录在 "C:\Users\admin\AppData\Roaming\Microsoft\VisualStudio\14.0\ActivityLog.xml" 中。

Exception details:
System.ArgumentException: Parametr is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))
   at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
   at Microsoft.VisualStudio.Shell.Package.CreateToolWindow(Type toolWindowType, Int32 id, UInt32 flags)
   at Microsoft.VisualStudio.Shell.Package.CreateToolWindow(Type toolWindowType, Int32 id, ProvideToolWindowAttribute tool)
   at Microsoft.VisualStudio.Shell.Package.FindToolWindow(Type toolWindowType, Int32 id, Boolean create, ProvideToolWindowAttribute tool)
   at Microsoft.VisualStudio.Shell.Package.CreateToolWindow(Guid& toolWindowType, Int32 id)
   at Microsoft.VisualStudio.Shell.Package.Microsoft.VisualStudio.Shell.Interop.IVsToolWindowFactory.CreateToolWindow(Guid& toolWindowType, UInt32 id)
   at Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.ConstructContent()

但是我尝试的所有方法都没有奏效。

我重新安装并修复了VS-仍然没有用。 然后我下载了一些.dll文件,微软视觉c++可再发行包,并使用Ccleaner清理注册表。 我认为这是一个非常奇怪的错误。如果您能提供修复建议,请告诉我吧?


这在一个最小的“hello world”应用程序中发生了吗?听起来很奇怪。可能是操作系统本身或恶意软件的问题。您是否完全安装了服务包并更新了病毒检查器等? - user146043
你试过在安全模式下启动Visual Studio吗?https://msdn.microsoft.com/zh-cn/library/ms241278(v=vs.140).aspx - Bradley Uffner
是的,正如您在帖子中所看到的,我已经以安全模式启动了VS。 - Phastasm
1
尝试更新设备驱动程序(Intel HD Graphics),或者如果您有基于切换的图形驱动程序,则使用它运行。 - qwr
这对我来说刚刚开始发生。当我在C#代码文件中双击类名时,它会挂起,然后报告停止工作。非常恼火。看不到ActivityLog.xml被更新。 - Andez
显示剩余5条评论
10个回答

85

取消勾选[工具->选项->环境->根据客户端性能自动调整视觉体验]

取消勾选[如果可用则使用硬件图形加速]

你可以保留[启用丰富的客户端视觉体验]的勾选

我遇到了很多问题,从随机崩溃到崩溃我的英特尔显卡驱动程序,我关闭了它,现在没有问题了,实际上运行更好。也许对你也有用。


这对我有用。我安装了VS2015社区版并尝试打开iSpy32解决方案,但一旦它打开,所有东西都会冻结。现在工作正常。 - user1634700
1
这个解决方法很有效。事件查看器中的错误内容如下: System.Windows.Media.PixelFormat.get_InternalBitsPerPixel() at System.Windows.Media.Imaging.BitmapSource.GetClosestDUCEFormat(System.Windows.Media.PixelFormat, System.Windows.Media.Imaging.BitmapPalette) at ... 因此,显然与图形呈现有关。这是 .net 运行时异常,总是伴随着 Visual Studio (devenv.exe) 异常。非常好的解决方法! - shivesh suman
工具->选项->常规->根据客户端性能自动调整视觉体验 应该改为 工具->选项->环境->常规->根据客户端性能自动调整视觉体验 - neo112
谢谢这个提示!我的VS 2015 IDE在使用60-90分钟后会出现故障(特别是如果我打开和关闭几次)。这解决了我的问题! - Taha Ahmad
我认为这不是问题的解决方案,而是特定于平台的解决方法,可能存在于特定的个人电脑上,也可能不存在。我认为这个问题对我来说仍然存在,我需要在开始工作之前每天安装VS。这就像地狱一样。是否有其他人遇到了这个问题?我愿意创建一个新的问题,以获得任何人使用过的详细解决方案。 - Heemanshu Bhalla

19

我在团队资源管理器中遇到了相同的问题。 首先关闭所有Visual Studio的实例,然后尝试:

devenv /resetuserdata

在命令提示符中运行上述命令;通常类似于"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE"


很好的解决方案,适用于各种问题。包括我安装最新的SSDT后,我的VS 2015崩溃了。(为什么这些东西没有在微软的故障排除/安装页面上记录) - Don Cheadle

5

这些类型错误的可能解决方法:

尝试更新设备驱动程序(Intel HD Graphics),或者如果您使用的是切换式显卡,则运行图形驱动程序,反之亦然。

主要可执行文件位于

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe

如果您在安装exe时遇到此类错误,也可以通过相同方式进行修复。 enter image description here


2
Visual Studio使用WPF: 从此链接可以得知:"Windows Presentation Foundation(WPF)与Windows上的先前应用程序平台不同,它在可用时使用自己的基于DirectX的硬件加速渲染管道来绘制任何WPF窗口的内容。 先前的应用程序平台通常不太依赖显示驱动程序质量,因为它们的大部分呈现是在软件而不是硬件中完成的。" 因此,如果您没有最新的显示驱动程序或最新的.NET框架,则可能会与显示驱动程序发生冲突,导致其停止工作。虽然可能还有其他原因。
还有一个注册表设置(regedit),可能会有所帮助: 您可以通过转到[HKEY_LOCAL_MACHINE-> SYSTEM-> CurrentControlSet-> Control-> GraphicsDrivers]并将名称设置为“TdrDelay”,将值设置为“8”来添加一个新的DWORD(对于32位系统)或QWORD(对于64位)。确保值的基数设置为十六进制。 TDR-超时检测和恢复。
如果以上任何方法都无法解决问题,请尝试从[工具->选项]中禁用Visual Studio中的任何硬件加速渲染功能。从您的ActivityLog文件中可以看出,异常情况主要出现在图形方法中。因此,我猜测与图形渲染有关。

2

点击工具菜单 > 导入和导出设置 > 重置所有设置 > 下一步 > "否,只重置设置,覆盖所有当前设置" > 下一步 > 完成。


0

我找到了这篇SOF文章并尝试了所有列出的方法。

我发现了一个新的问题。

我的问题属于“最愚蠢的原因”类别。

我的临时文件夹“满了”。所以我进行了磁盘清理,删除了文件。然而,我的临时文件夹中有大量的子文件夹,虽然它们是空的,但这些文件夹本身导致GetTempFile函数失败。

所以当我运行

"C:\blah\blah\blah\IDE\devenv.exe" /log

ActivityLog.xml中的日志条目显示如下:

System.IO.IOException: The file exists.

   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.__Error.WinIOError()
   at System.IO.Path.InternalGetTempFileName(Boolean checkHost)
   at System.Windows.Input.Cursor.LoadFromStream(Stream cursorStream)
   at Microsoft.VisualStudio.Text.Editor.Implementation.LeftSelectionMargin.get_RightArrowCursor()
   at Microsoft.VisualStudio.Text.Editor.Implementation.LeftSelectionMarginProvider.CreateMargin(IWpfTextViewHost textViewHost, IWpfTextViewMargin containerMargin)
   at Microsoft.VisualStudio.Text.Utilities.ContainerMargin.<AddMargins>b__2(IWpfTextViewMarginProvider mp)
   at Microsoft.VisualStudio.Text.Utilities.GuardedOperations.InstantiateExtension[TExtension,TMetadata,TExtensionInstance](Object errorSource, Lazy`2 provider, Func`2 getter)

在日志条目文本中,不要错过文本“System.IO.Path.InternalGetTempFileName”。

因此,有几个地方建议“删除临时文件”,我也这样做了,但仍然遇到了相同的问题。 :(

然后我查看了临时目录,发现了一些奇怪的东西。大量(空)子文件夹。

所以一旦我发现我的临时目录中有一堆子文件夹,我就清理了这些子文件夹。

我找到了这个问题:

如何在Windows命令提示符中删除特定目录中的文件/子文件夹

所以我使用了这段代码:

我将这段代码放入了一个 .bat 文件中。

del /q "C:\Users\MYUSERNAME\AppData\Local\Temp\*"
FOR /D %%p IN ("C:\Users\MYUSERNAME\AppData\Local\Temp\*.*") DO rmdir "%%p" /s /q

现在我的Visual Studio又正常运行了。

哇,真是让人惊喜。


0

已经有一段时间了,但今天我看到类似的行为。 每次加载我们的解决方案时,VS2015都会崩溃并重新启动。 Windows事件日志显示出现了“内存不足异常”,但在崩溃时还有超过2GB可用空间。错误模块是KERNELBASE.DLL

如果这对任何人有所帮助:

Faulting application name: devenv.exe, version: 14.0.25420.1, time stamp: 0x57685d85
Faulting module name: KERNELBASE.dll, version: 6.1.7601.23915, time stamp: 0x59b94abb

我怀疑是Windows更新的问题,因为我的同事们都没有这个问题,而不幸的是我是那个总是尽快安装更新的书呆子。

0

0


我遇到了Visual Studio安装问题,它在开始安装之前就停止了。我只需转到控制面板>程序>打开或关闭Windows功能>取消选中所有.NET框架版本,然后重新启动计算机,再开始安装即可。这就是我的解决方法。


0

你也可以尝试关闭VS,删除bin目录,然后再次尝试调试 - 这对我有用过。


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