Visual Studio 2017 启动时崩溃(专业版和企业版,内部版本 15.5.2)

Visual Studio 2017 crashes on startup (Professional and Enterprise, build 15.5.2)

VS 2017 在启动时崩溃。

我试过:

以上

None 已解决问题。 我是 运行 win 10 enterprise,Intel Core i7-5960X CPU @ 3GHz,32GB RAM,64 位 OS

来自事件查看器:

Fault bucket , type 0
Event Name: APPCRASH
Response: Not available
Cab Id: 0

Problem signature:
P1: devenv.exe
P2: 15.0.27130.2010
P3: 5a31e4ea
P4: KERNELBASE.dll
P5: 10.0.16299.15
P6: 2cd1ce3d
P7: c000041d
P8: 001008b2
P9: 
P10: 

Faulting application name: devenv.exe, version: 15.0.27130.2010, time stamp: 0x5a31e4ea
Faulting module name: KERNELBASE.dll, version: 10.0.16299.15, time stamp: 0x2cd1ce3d
Exception code: 0xc000041d
Fault offset: 0x001008b2
Faulting process id: 0x17b0
Faulting application start time: 0x01d37a24c40d6287
Faulting application path: C:\Program Files (x86)\Microsoft Visual Studio17\Enterprise\Common7\IDE\devenv.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: bdb4ae52-6612-4f9d-a016-d19e68f0ee59
Faulting package full name: 
Faulting package-relative application ID: 

Fault bucket 1293705288626429016, type 5
Event Name: CLR20r3
Response: Not available
Cab Id: 0

Problem signature:
P1: devenv.exe
P2: 15.0.27130.2010
P3: 5a31e4ea
P4: mscorlib
P5: 4.7.2600.0
P6: 59d789f1
P7: 5f9e
P8: 4
P9: System.ArgumentException
P10: 

Faulting application name: devenv.exe, version: 15.0.27130.2010, time stamp: 0x5a31e4ea
Faulting module name: KERNELBASE.dll, version: 10.0.16299.15, time stamp: 0x2cd1ce3d
Exception code: 0xe0434352
Fault offset: 0x001008b2
Faulting process id: 0x17b0
Faulting application start time: 0x01d37a24c40d6287
Faulting application path: C:\Program Files (x86)\Microsoft Visual Studio17\Enterprise\Common7\IDE\devenv.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: e821f1e4-bfff-4775-9131-2c3d763b5848
Faulting package full name: 
Faulting package-relative application ID: 

Application: devenv.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ArgumentException
   at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32, IntPtr)
   at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32, IntPtr)
   at MS.Internal.Text.TextInterface.Native.Util.ConvertHresultToException(Int32)
   at MS.Internal.Text.TextInterface.Font.DisplayMetrics(Single, Single)
   at MS.Internal.FontFace.PhysicalFontFamily.MS.Internal.FontFace.IFontFamily.LineSpacing(Double, Double, Double, System.Windows.Media.TextFormattingMode)
   at MS.Internal.TextFormatting.SimpleTextLine..ctor(MS.Internal.TextFormatting.FormatSettings, Int32, Int32, System.Collections.ArrayList, Int32 ByRef, Int32 ByRef, Double)
   at MS.Internal.TextFormatting.SimpleTextLine.Create(MS.Internal.TextFormatting.FormatSettings, Int32, Int32, Double)
   at MS.Internal.TextFormatting.TextFormatterImp.FormatLineInternal(System.Windows.Media.TextFormatting.TextSource, Int32, Int32, Double, System.Windows.Media.TextFormatting.TextParagraphProperties, System.Windows.Media.TextFormatting.TextLineBreak, System.Windows.Media.TextFormatting.TextRunCache)
   at MS.Internal.TextFormatting.TextFormatterImp.FormatLine(System.Windows.Media.TextFormatting.TextSource, Int32, Double, System.Windows.Media.TextFormatting.TextParagraphProperties, System.Windows.Media.TextFormatting.TextLineBreak, System.Windows.Media.TextFormatting.TextRunCache)
   at MS.Internal.Text.Line.Format(Int32, Double, System.Windows.Media.TextFormatting.TextParagraphProperties, System.Windows.Media.TextFormatting.TextLineBreak, System.Windows.Media.TextFormatting.TextRunCache, Boolean)
   at System.Windows.Controls.TextBlock.MeasureOverride(System.Windows.Size)
   at System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
   at System.Windows.UIElement.Measure(System.Windows.Size)
   at System.Windows.Controls.DockPanel.MeasureOverride(System.Windows.Size)
   at System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
   at System.Windows.UIElement.Measure(System.Windows.Size)
   at System.Windows.Controls.Border.MeasureOverride(System.Windows.Size)
   at System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
   at System.Windows.UIElement.Measure(System.Windows.Size)
   at System.Windows.Controls.Grid.MeasureCell(Int32, Boolean)
   at System.Windows.Controls.Grid.MeasureCellsGroup(Int32, System.Windows.Size, Boolean, Boolean, Boolean ByRef)
   at System.Windows.Controls.Grid.MeasureCellsGroup(Int32, System.Windows.Size, Boolean, Boolean)
   at System.Windows.Controls.Grid.MeasureOverride(System.Windows.Size)
   at System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
   at System.Windows.UIElement.Measure(System.Windows.Size)
   at Microsoft.VisualStudio.PlatformUI.Shell.Controls.WindowContentPresenter.MeasureOverride(System.Windows.Size)
   at System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
   at System.Windows.UIElement.Measure(System.Windows.Size)
   at System.Windows.Window.MeasureOverrideHelper(System.Windows.Size)
   at System.Windows.Window.MeasureOverride(System.Windows.Size)
   at System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
   at System.Windows.UIElement.Measure(System.Windows.Size)
   at System.Windows.Interop.HwndSource.Process_WM_SIZE(System.Windows.UIElement, IntPtr, MS.Internal.Interop.WindowMessage, IntPtr, IntPtr)
   at System.Windows.Interop.HwndSource.LayoutFilterMessage(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)

更新 12-23-17 决定再次格式化我的驱动器,安装 Visual Studio,并在每个后续程序安装后启动应用程序。我想我已将问题缩小到 Microsoft Office 安装程序,除非在我不知情的情况下后台出现了 运行。我一开始安装 Office,就启动了 Visual Studio,它引发了崩溃。当我了解更多信息时,将使用新信息更新此 post。 -狮子座

更新 2:问题已解决(不正确,请参阅下一个更新)。 Microsoft Office 是罪魁祸首。在路径 C:\Program Files\Microsoft Office\root\Office16 中,将文件 MLCFG32.CPL 重命名为 MLCFG32.CPL.old,退出 Windows,重新登录,然后打开 Visual Studio成功。谢谢 Joyce 在 MSDN forum.

UPDATE 12/31/17(也在回答中添加) This is not a permament fix.VS 2017 在执行尚未确定的进程后开始崩溃。我不得不反复将文件 MLCFG32.CPL 重命名为 .old 并重新命名,然后 VS 才能正常启动。然后第二天又开始坏了

更新 2018 年 1 月 11 日 问题解决了!问题在于安装 WindowBlinds 10.65(048 - Windows 10 版)- 64 位 OS,并使用应用系统范围字体样式的主题。 解决方法是通过单击左侧菜单 (1) 上的样式,单击字体 (2),然后选中上述复选框来选中 "Do not apply any style system wide fonts",从而禁用此功能。

Link to Stardock forums with fix details.


更新 2017 年 12 月 31 日 This is not a permament fix.VS 2017 在执行尚未确定的过程后开始崩溃。我不得不反复将文件 MLCFG32.CPL 重命名为 .old 并重新命名,然后 VS 才能正常启动。然后第二天又开始坏了

问题已解决。 Microsoft Office 是罪魁祸首。在路径 C:\Program Files\Microsoft Office\root\Office16 中,我将文件 MLCFG32.CPL 重命名为 MLCFG32.CPL.old,注销 Windows,重新登录,然后打开 Visual Studio成功。

谢谢 Joyce 在 MSDN forum