27

每次启动 Visual Studio 时都会收到一条错误消息。由于我在我的项目中也看到了一些无法解释的行为,我想解决这个问题。

错误信息

遇到异常。这可能是由扩展引起的。

您可以通过检查文件“C:\Users\Jonathan\AppData\Roaming\Microsoft\VisualStudio\11.0\ActivityLog.xml”来获取更多信息。

当我查看日志文件时,我发现了两个异常:

错误 1

Exception Type       : System.Windows.Markup.XamlParseException
Exception Message    : Provide value on 'System.Windows.StaticResourceExtension' threw an exception.
Exception Stack Trace:
    at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
    at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
    at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
    at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
    at SquaredInfinity.VSCommands.UI.Views.DefaultAlertView.InitializeComponent()
    at SquaredInfinity.VSCommands.Foundation.Services.VSCUIService.GetDefaultAlertViewModel(String alertMessage, String alertDialogTitle)
    at SquaredInfinity.Foundation.Presentation.Services.UIService.GetDefaultAlertViewModel(String alertMessage)
    at SquaredInfinity.Foundation.Presentation.Services.UIService.ShowAlert(String message)
    at SquaredInfinity.VSCommands.VSCommandsPackage.Initialize()
Exception Data   : [EmptyOrNull]
Inner Exception:
Exception Type       : System.Exception
Exception Message    : Cannot find resource named 'VSC.Button'. Resource names are case sensitive.
Exception Stack Trace:    at System.Windows.StaticResourceExtension.ProvideValueInternal(IServiceProvider serviceProvider, Boolean allowDeferredReference)
                      at System.Windows.StaticResourceExtension.ProvideValue(IServiceProvider serviceProvider)
                      at MS.Internal.Xaml.Runtime.ClrObjectRuntime.CallProvideValue(MarkupExtension me, IServiceProvider serviceProvider)
Exception Data   : [EmptyOrNull]

错误 2

System.ComponentModel.Composition.CompositionException: The composition produced a single composition error. The root cause is provided below. Review the CompositionException.Errors property for more detailed information.

1) The current type,    SquaredInfinity.Foundation.Configuration.Services.IConfigurationService, is an interface and cannot be constructed. Are you missing a type mapping?
Resulting in: Resolution of the dependency failed, type = "SquaredInfinity.Foundation.Configuration.Services.IConfigurationService", name = "(none)".
Exception occurred while: while resolving.
Exception is: InvalidOperationException - The current type, SquaredInfinity.Foundation.Configuration.Services.IConfigurationService, is an interface and cannot be constructed. Are you missing a type mapping?
-----------------------------------------------
At the time of the exception, the container was:
  Resolving SquaredInfinity.Foundation.Configuration.Services.IConfigurationService,(none)

Resulting in: An exception occurred while trying to create an instance of type '#Btb.#Rtb'.

Resulting in: Cannot activate part '#Btb.#Rtb'.
Element: #Btb.#Rtb -->  #Btb.#Rtb

Resulting in: Cannot get export '#Btb.#Rtb (ContractName="Microsoft.VisualStudio.Text.Classification.IClassifierProvider")' from part '#Btb.#Rtb'.
Element: #Btb.#Rtb (ContractName="Microsoft.VisualStudio.Text.Classification.IClassifierProvider") -->  #Btb.#Rtb

   at System.ComponentModel.Composition.Hosting.CompositionServices.GetExportedValueFromComposedPart(ImportEngine engine, ComposablePart part, ExportDefinition definition)
   at System.ComponentModel.Composition.Hosting.CatalogExportProvider.GetExportedValue(CatalogPart part, ExportDefinition export, Boolean isSharedPart)
   at System.ComponentModel.Composition.Hosting.CatalogExportProvider.CatalogExport.GetExportedValueCore()
   at System.ComponentModel.Composition.Primitives.Export.get_Value()
   at System.ComponentModel.Composition.ExportServices.GetCastedExportedValue[T](Export export)
   at System.ComponentModel.Composition.ExportServices.<>c__DisplayClass4`2.<CreateStronglyTypedLazyOfTM>b__1()
   at System.Lazy`1.CreateValue()
   at System.Lazy`1.LazyInitValue()
   at System.Lazy`1.get_Value()
   at Microsoft.VisualStudio.Text.Utilities.GuardedOperations.InvokeMatchingFactories[TExtensionInstance,TExtensionFactory,TMetadataView](IEnumerable`1 lazyFactories, Func`2 getter, IContentType dataContentType, Object errorSource)

我该如何解释这一点,以便找出错误?

4

8 回答 8

21

VSCommands 扩展或其他插件似乎有问题。您可以尝试禁用所有扩展,重新启动 Visual Studio 并重新启用它们;有时它可以解决此类问题。

您可以尝试的另一件事是以管理员身份运行 Visual Studio,因为如果没有足够的权限来访问某些资源(这是旧版本的 Visual Studio 中的错误),可能会发生此错误。

您最后的痛苦手段将是干净的重新安装。

于 2013-02-06T20:58:29.333 回答
13

只需重新安装最新的 Web Essentials 5/5/2013。它解决了这个问题。无需卸载或禁用任何东西,只需再次运行安装程序即可完成。

http://visualstudiogallery.msdn.microsoft.com/07d54d12-7133-4e15-becb-6f451ea3bea6

于 2013-05-07T23:21:27.763 回答
9

通过删除以下文件夹修复:

C:\Users{用户名}\AppData\Local\Microsoft\VisualStudio{版本号}\ComponentModelCache

于 2015-09-17T23:40:11.357 回答
4

此错误在安装 Visual Studio 2012 Update 2 后开始。显然,Web 工具和 Web Essentials 2012 扩展存在冲突——它们都尝试注册一些相同的组件,这会产生此异常。

此外,在安装 VS 2012 Update 2 时,这些扩展中的一个或两个的自动更新通知似乎被破坏,因为虽然扩展已更新以解决冲突,但您不会收到更新存在的通知。

解决方案是删除这两个扩展,然后重新安装它们。

有关这方面的更多信息,请参阅http://madskristensen.net/post/web-tools-20122-and-web-essentials

于 2013-04-24T19:34:43.123 回答
3

我遇到了同样的错误。我注意到 NuGet 包管理器扩展有一个更新。安装此更新后,错误消失了。

确保应用了所有可用的更新。要检查是否有可用的更新,请打开工具 > 扩展和更新。在“扩展和更新”对话框中,展开左侧窗格中的“更新”节点。安装任何可用的更新并重新启动 Visual Studio 2012。

于 2013-12-04T19:45:45.183 回答
2

对于所有遇到此问题的人:

  1. 打开 Visual Studio 2012,但不加载任何解决方案/项目
  2. 工具菜单中打开扩展和更新
  3. 禁用 Web Essentials 2012
  4. 删除解决方案的 .suo 文件
  5. 在 Visual Studio 中打开解决方案
  6. 看到它加载并且 Visual Studio 没有崩溃
  7. 启用 Web Essentials 2012
  8. 重新启动 Visual Studio 2012 并重新加载您的解决方案。
  9. 快乐时光!

来源

于 2014-11-04T17:17:47.653 回答
2

解决上述问题所需要做的就是删除项目和 Visual Studio 的 *.suo 文件。我遇到过同样的问题。

于 2016-06-11T09:31:28.853 回答
0

我也遇到了同样的错误:

遇到异常。这可能是由扩展引起的。

您可以通过检查文件 'C:\Users\ 来获取更多信息。. . \VisualStudio\11.0\ActivityLog.xml'

原因:

我已经从控制面板卸载了一些 SQL 文件。只有在那之后我才开始收到这个错误,但我不确定我卸载了哪个服务。

解决方案:

我下载了Visual Studio 2012 的 SDK并安装/重新启动了 Visual Studio,然后它工作正常。

于 2014-02-23T07:20:32.027 回答