【问题标题】:Visual Studio 2015 keeps crashing on startup since Windows anniversary update自 Windows 周年更新以来,Visual Studio 2015 在启动时不断崩溃
【发布时间】:2016-12-29 02:14:00
【问题描述】:

我在没有丢失文件的情况下将 Windows 升级到了新的周年更新(我选择只删除我的应用和设置)。一切都很顺利,我的文件完好无损地恢复了 Windows。

我决定重新安装我的应用程序,然后是安装 Visual Studio 2015 的时候了,因为我仍然有它的 ISO。我安装了映像并开始安装,选择安装所有内容(非自定义),一切顺利,是时候启动 Visual Studio,我点击启动按钮,Visual Studio 启动但崩溃了显示实际界面。

我很吃惊,我一遍又一遍地重新启动了 Visual Studio,但它总是在经典的 Windows 对话框中崩溃。

Visual Studio 2015 has stopped working

没有什么可以描述错误,绝对没有,我决定通过使用 IOBIT 卸载程序强制卸载它来彻底卸载 Visual Studio,该卸载程序也删除了注册表项。完成后我重新启动并决定第二次重新安装visual studio,同样的事情又发生了。

我查看了日志,发现了一些有趣的东西。看起来它与 Visual Studio 启动时启动 Team Explorer 有关,但我不确定到底发生了什么。

日志的相关部分

<entry>
    <record>131</record>
    <time>2016/08/22 12:48:06.226</time>
    <type>Error</type>
    <source>VisualStudio</source>
    <description>Construction of frame content failed.&#x000D;&#x000A;Frame identifier: ST:0:0:{131369f2-062d-44a2-8671-91ff31efb4f4}&#x000D;&#x000A;Frame caption: Team Explorer&#x000D;&#x000A;Exception details:&#x000D;&#x000A;System.ArgumentException: Converter requires 11 source parameters.&#x000D;&#x000A;   at Microsoft.VisualStudio.PlatformUI.MultiValueConverterBase`1.ValidateConvertParameters(Object[] values, Type targetType)&#x000D;&#x000A;   at Microsoft.VisualStudio76.PlatformUI.MultiValueConverter`12.Convert(Object[] values, Type targetType, Object parameter, CultureInfo culture)&#x000D;&#x000A;   at System.Windows.Data.MultiBindingExpression.TransferValue()&#x000D;&#x000A;   at System.Windows.Data.MultiBindingExpression.Transfer()&#x000D;&#x000A;   at System.Windows.Data.MultiBindingExpression.UpdateTarget(Boolean includeInnerBindings)&#x000D;&#x000A;   at System.Windows.Data.MultiBindingExpression.AttachToContext(Boolean lastChance)&#x000D;&#x000A;   at System.Windows.Data.MultiBindingExpression.AttachOverride(DependencyObject d, DependencyProperty dp)&#x000D;&#x000A;   at System.Windows.Data.BindingExpressionBase.OnAttach(DependencyObject d, DependencyProperty dp)&#x000D;&#x000A;   at System.Windows.StyleHelper.GetInstanceValue(UncommonField`1 dataField, DependencyObject container, FrameworkElement feChild, FrameworkContentElement fceChild, Int32 childIndex, DependencyProperty dp, Int32 i, EffectiveValueEntry&amp; entry)&#x000D;&#x000A;   at System.Windows.StyleHelper.GetChildValueHelper(UncommonField`1 dataField, ItemStructList`1&amp; valueLookupList, DependencyProperty dp, DependencyObject container, FrameworkObject child, Int32 childIndex, Boolean styleLookup, EffectiveValueEntry&amp; entry, ValueLookupType&amp; sourceType, FrameworkElementFactory templateRoot)&#x000D;&#x000A;   at System.Windows.StyleHelper.GetChildValue(UncommonField`1 dataField, DependencyObject container, Int32 childIndex, FrameworkObject child, DependencyProperty dp, FrugalStructList`1&amp; childRecordFromChildIndex, EffectiveValueEntry&amp; entry, ValueLookupType&amp; sourceType, FrameworkElementFactory templateRoot)&#x000D;&#x000A;   at System.Windows.StyleHelper.GetValueFromStyleOrTemplate(FrameworkObject fo, DependencyProperty dp, EffectiveValueEntry&amp; entry)&#x000D;&#x000A;   at System.Windows.StyleHelper.ApplyStyleOrTemplateValue(FrameworkObject fo, DependencyProperty dp)&#x000D;&#x000A;   at System.Windows.StyleHelper.InvalidateContainerDependents(DependencyObject container, FrugalStructList`1&amp; exclusionContainerDependents, FrugalStructList`1&amp; oldContainerDependents, FrugalStructList`1&amp; newContainerDependents)&#x000D;&#x000A;   at System.Windows.StyleHelper.DoThemeStyleInvalidations(FrameworkElement fe, FrameworkContentElement fce, Style oldThemeStyle, Style newThemeStyle, Style style)&#x000D;&#x000A;   at System.Windows.StyleHelper.UpdateThemeStyleCache(FrameworkElement fe, FrameworkContentElement fce, Style oldThemeStyle, Style newThemeStyle, Style&amp; themeStyleCache)&#x000D;&#x000A;   at System.Windows.FrameworkElement.OnThemeStyleChanged(DependencyObject d, Object oldValue, Object newValue)&#x000D;&#x000A;   at System.Windows.StyleHelper.GetThemeStyle(FrameworkElement fe, FrameworkContentElement fce)&#x000D;&#x000A;   at System.Windows.FrameworkElement.UpdateThemeStyleProperty()&#x000D;&#x000A;   at System.Windows.FrameworkElement.OnInitialized(EventArgs e)&#x000D;&#x000A;   at System.Windows.FrameworkElement.TryFireInitialized()&#x000D;&#x000A;   at System.Windows.FrameworkElement.ChangeLogicalParent(DependencyObject newParent)&#x000D;&#x000A;   at System.Windows.FrameworkElement.AddLogicalChild(Object child)&#x000D;&#x000A;   at System.Windows.Controls.ContentControl.OnContentChanged(Object oldContent, Object newContent)&#x000D;&#x000A;   at System.Windows.Controls.ContentControl.OnContentChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)&#x000D;&#x000A;   at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)&#x000D;&#x000A;   at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)&#x000D;&#x000A;   at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)&#x000D;&#x000A;   at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry&amp; newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)&#x000D;&#x000A;   at System.Windows.StyleHelper.ApplyStyleOrTemplateValue(FrameworkObject fo, DependencyProperty dp)&#x000D;&#x000A;   at System.Windows.StyleHelper.InvalidateContainerDependents(DependencyObject container, FrugalStructList`1&amp; exclusionContainerDependents, FrugalStructList`1&amp; oldContainerDependents, FrugalStructList`1&amp; newContainerDependents)&#x000D;&#x000A;   at System.Windows.StyleHelper.DoStyleInvalidations(FrameworkElement fe, FrameworkContentElement fce, Style oldStyle, Style newStyle)&#x000D;&#x000A;   at System.Windows.StyleHelper.UpdateStyleCache(FrameworkElement fe, FrameworkContentElement fce, Style oldStyle, Style newStyle, Style&amp; styleCache)&#x000D;&#x000A;   at System.Windows.FrameworkElement.OnStyleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)&#x000D;&#x000A;   at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)&#x000D;&#x000A;   at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)&#x000D;&#x000A;   at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)&#x000D;&#x000A;   at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry&amp; newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)&#x000D;&#x000A;   at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)&#x000D;&#x000A;   at System.Windows.FrameworkElement.SetResourceReference(DependencyProperty dp, Object name)&#x000D;&#x000A;   at Microsoft.VisualStudio.PlatformUI.Utility.SelectStyleForItem(FrameworkElement element, Object item, IExposeStyleKeys styleKeySource, Boolean deferIfInvisible)&#x000D;&#x000A;   at Microsoft.VisualStudio.PlatformUI.VsToolBar.PrepareContainerForItemOverride(DependencyObject element, Object item)&#x000D;&#x000A;   at System.Windows.Controls.ItemsControl.MS.Internal.Controls.IGeneratorHost.PrepareItemContainer(DependencyObject container, Object item)&#x000D;&#x000A;   at System.Windows.Controls.ItemContainerGenerator.System.Windows.Controls.Primitives.IItemContainerGenerator.PrepareItemContainer(DependencyObject container)&#x000D;&#x000A;   at System.Windows.Controls.Panel.GenerateChildren()&#x000D;&#x000A;   at System.Windows.Controls.Primitives.ToolBarPanel.GenerateChildren()&#x000D;&#x000A;   at System.Windows.Controls.Panel.EnsureGenerator()&#x000D;&#x000A;   at System.Windows.Controls.Panel.get_InternalChildren()&#x000D;&#x000A;   at System.Windows.Controls.Primitives.ToolBarPanel.MeasureGeneratedItems(Boolean asNeededPass, Size constraint, Boolean horizontal, Double maxExtent, Size&amp; panelDesiredSize, Double&amp; overflowExtent)&#x000D;&#x000A;   at System.Windows.Controls.Primitives.ToolBarPanel.MeasureOverride(Size constraint)&#x000D;&#x000A;   at Microsoft.VisualStudio.PlatformUI.VsToolBarPanel.MeasureWithCollapsePrevention(Size constraint)&#x000D;&#x000A;   at Microsoft.VisualStudio.PlatformUI.VsToolBarPanel.MeasureOverride(Size constraint)&#x000D;&#x000A;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&#x000D;&#x000A;   at System.Windows.UIElement.Measure(Size availableSize)&#x000D;&#x000A;   at System.Windows.Controls.DockPanel.MeasureOverride(Size constraint)&#x000D;&#x000A;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&#x000D;&#x000A;   at System.Windows.UIElement.Measure(Size availableSize)&#x000D;&#x000A;   at System.Windows.Controls.Border.MeasureOverride(Size constraint)&#x000D;&#x000A;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&#x000D;&#x000A;   at System.Windows.UIElement.Measure(Size availableSize)&#x000D;&#x000A;   at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)&#x000D;&#x000A;   at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean&amp; hasDesiredSizeUChanged)&#x000D;&#x000A;   at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV)&#x000D;&#x000A;   at System.Windows.Controls.Grid.MeasureOverride(Size constraint)&#x000D;&#x000A;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&#x000D;&#x000A;   at System.Windows.UIElement.Measure(Size availableSize)&#x000D;&#x000A;   at System.Windows.Controls.Grid.MeasureOverride(Size constraint)&#x000D;&#x000A;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&#x000D;&#x000A;   at System.Windows.UIElement.Measure(Size availableSize)&#x000D;&#x000A;   at System.Windows.Controls.Control.MeasureOverride(Size constraint)&#x000D;&#x000A;   at System.Windows.Controls.ToolBar.MeasureOverride(Size constraint)&#x000D;&#x000A;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&#x000D;&#x000A;   at System.Windows.UIElement.Measure(Size availableSize)&#x000D;&#x000A;   at System.Windows.Controls.ToolBarTray.MeasureOverride(Size constraint)&#x000D;&#x000A;   at System.Windows.FrameworkElement.MeasureCore(Size availableSize)&#x000D;&#x000A;   at System.Windows.UIElement.Measure(Size availableSize)&#x000D;&#x000A;   at Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.AdjustSearchControlPlacement()&#x000D;&#x000A;   at Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.AddTopToolbarTray(VsToolWindowToolBarTray tray)&#x000D;&#x000A;   at Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.AddToolbarTray(VsToolWindowToolBarTray tray, VSTWT_LOCATION location)&#x000D;&#x000A;   at Microsoft.VisualStudio.Platform.WindowManagement.WindowFrameToolbarHost.OnToolbarTrayCreated(VsToolWindowToolBarTray newTray, VSTWT_LOCATION location)&#x000D;&#x000A;   at Microsoft.VisualStudio.Platform.WindowManagement.BaseToolbarHost.AddToolbar(UInt64 id, VSTWT_LOCATION location, IDropTarget dropTarget, IOleCommandTarget commandTarget, Boolean copyToolbarData)&#x000D;&#x000A;   at Microsoft.VisualStudio.Platform.WindowManagement.BaseToolbarHost.AddToolbar3(VSTWT_LOCATION location, Guid&amp; toolbarGuid, UInt32 toolbarId, IDropTarget dropTarget, IOleCommandTarget commandTarget)&#x000D;&#x000A;   at Microsoft.VisualStudio.Shell.Package.CreateToolWindow(Type toolWindowType, Int32 id, UInt32 flags)&#x000D;&#x000A;   at Microsoft.VisualStudio.Shell.Package.CreateToolWindow(Type toolWindowType, Int32 id, ProvideToolWindowAttribute tool)&#x000D;&#x000A;   at Microsoft.VisualStudio.Shell.Package.FindToolWindow(Type toolWindowType, Int32 id, Boolean create, ProvideToolWindowAttribute tool)&#x000D;&#x000A;   at Microsoft.VisualStudio.Shell.Package.CreateToolWindow(Guid&amp; toolWindowType, Int32 id)&#x000D;&#x000A;   at Microsoft.VisualStudio.Shell.Package.Microsoft.VisualStudio.Shell.Interop.IVsToolWindowFactory.CreateToolWindow(Guid&amp; toolWindowType, UInt32 id)&#x000D;&#x000A;   at Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.ConstructContent()</description>
  </entry>

完整日志Here

我尝试使用不同的标志启动 Visual Studio:

devenv /safemodedevenv /restsettings 等等。

它们都是从 Visual Studio 每次启动时崩溃开始的。

【问题讨论】:

  • 查看事件日志以获取有关崩溃的详细信息以及记录在那里的调用堆栈
  • @jessehouwing 非常感谢您的评论,我尝试修复安装但没有修复。但我现在会尝试下载更新 3 并测试它是否修复它。
  • @jessehouwing 我刚刚安装了更新 3,安装程序安装正常,但完成时出现了一些错误和警告,我设法截屏:imgur.com/lLSpa3f 但 Visual Studio 在启动时仍然崩溃,这些是新日志:gist.github.com/f3yisayo/8de73ed3aa931f55b9231cf4a9f504ad/raw/…
  • @jessehouwing 谢谢杰西。我实际上已经尝试过,并从 ISO 重新安装。但是重新安装新鲜仍然不能修复VS。我现在再次这样做并重新安装,是否应该在安装 Visual Studio 核心之前安装更新 3?
  • @jessehouwing 快速提问,我在升级 Windows 安装而不是全新安装 Windows 之后安装 VS 是否重要?

标签: visual-studio-2015 crash windows-10


【解决方案1】:

看起来安装失败了,如果正常的卸载程序不起作用,您可以尝试使用以下命令强制卸载:

vs_setup /uninstall /force

然后重新启动。然后再次尝试安装。

鉴于您在下载 Update 3 时似乎遇到了网络问题,请尝试下载 ISO 而不是下载引导程序。或者首先创建一个本地安装源,以确保您在您的机器上获得所有正确的位。您可以使用以下方法创建本地安装映像:

vs_setup /layout

如果一切都失败了,请参阅这篇文章了解更多调试提示:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-14
    • 1970-01-01
    • 2012-10-31
    • 1970-01-01
    • 2015-09-10
    • 2017-02-21
    • 1970-01-01
    相关资源
    最近更新 更多