我正在使用一些扩展程序运行Visual Studio 2015 我正在尝试调试以下错误:
错误记录在ActivityLog.xml
:
440 ERROR A MEF Component threw an exception at runtime: System.InvalidCastException: Unable to cast object of type 'System.Reflection.RuntimeMethodInfo' to type 'System.Reflection.ConstructorInfo'.
at Microsoft.VisualStudio.Composition.Reflection.ResolverExtensions.Resolve(ConstructorRef constructorRef)
at Microsoft.VisualStudio.Composition.RuntimeComposition.RuntimePart.get_ImportingConstructor()
at Microsoft.VisualStudio.Composition.RuntimeExportProviderFactory.RuntimeExportProvider.RuntimePartLifecycleTracker.CreateValue()
at Microsoft.VisualStudio.Composition.ExportProvider.PartLifecycleTracker.Create()
at Microsoft.VisualStudio.Composition.ExportProvider.PartLifecycleTracker.MoveNext(PartLifecycleState nextState)
at Microsoft.VisualStudio.Composition.ExportProvider.PartLifecycleTracker.MoveToState(PartLifecycleState requiredState)
at Microsoft.VisualStudio.Composition.ExportProvider.PartLifecycleTracker.GetValueReadyToExpose()
at Microsoft.VisualStudio.Composition.RuntimeExportProviderFactory.RuntimeExportProvider.<>c__DisplayClass15_0.<GetExportedValueHelper>b__0()
Source: Microsoft.VisualStudio.CommonIDE.ExtensibilityHosting.VsShellComponentModelHost
Time: 2016/09/12 07:16:43.932
441 ERROR System.InvalidCastException: Unable to cast object of type 'System.Reflection.RuntimeMethodInfo' to type 'System.Reflection.ConstructorInfo'.
at Microsoft.VisualStudio.Composition.Reflection.ResolverExtensions.Resolve(ConstructorRef constructorRef)
at Microsoft.VisualStudio.Composition.RuntimeComposition.RuntimePart.get_ImportingConstructor()
at Microsoft.VisualStudio.Composition.RuntimeExportProviderFactory.RuntimeExportProvider.RuntimePartLifecycleTracker.CreateValue()
at Microsoft.VisualStudio.Composition.ExportProvider.PartLifecycleTracker.Create()
at Microsoft.VisualStudio.Composition.ExportProvider.PartLifecycleTracker.MoveNext(PartLifecycleState nextState)
at Microsoft.VisualStudio.Composition.ExportProvider.PartLifecycleTracker.MoveToState(PartLifecycleState requiredState)
at Microsoft.VisualStudio.Composition.ExportProvider.PartLifecycleTracker.GetValueReadyToExpose()
at Microsoft.VisualStudio.Composition.RuntimeExportProviderFactory.RuntimeExportProvider.<>c__DisplayClass15_0.<GetExportedValueHelper>b__0() --- End of stack trace from previous location where exception was thrown ---
at Microsoft.VisualStudio.Composition.RuntimeExportProviderFactory.RuntimeExportProvider.<>c__DisplayClass15_0.<GetExportedValueHelper>b__0()
at Microsoft.VisualStudio.Composition.DelegateServices.<>c__DisplayClass2_0`1.<As>b__0()
at System.Lazy`1.CreateValue()
at System.Lazy`1.LazyInitValue()
at System.Lazy`1.get_Value()
at Microsoft.VisualStudio.Text.Utilities.GuardedOperations.InvokeEligibleFactories[TExtensionInstance,TExtensionFactory,TMetadataView](IEnumerable`1 lazyFactories, Func`2 getter, IContentType dataContentType, IContentTypeRegistryService contentTypeRegistryService, Object errorSource)
Source: Editor or Editor Extension
Time: 2016/09/12 07:16:44.075
Source
Microsoft.VisualStudio.CommonIDE.ExtensibilityHosting.VsShellComponentModelHost
和Editor or Editor Extension
报告错误。
错误没有提到哪个扩展程序导致错误,我找不到任何提示在哪里查找问题。
使用调试器(devenv.exe" /RootSuffix Exp
)运行时,调试器不会停止异常,并且仍会显示错误消息框。
关闭Visual Studio,重新启动计算机,重新安装扩展程序等后,问题消失。
我对此并不满意,因为我无法根本导致问题或获得任何好的提示,在哪里查看/如何调试。
答案 0 :(得分:9)
Visual Studio 2015 Update 3(至少)提供了一个开始菜单项:
Visual Studio 2015&gt;重置Visual Studio 2015实验实例
它似乎比接受的答案更低级和更简单:它调用
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VSSDK\
VisualStudioIntegration\Tools\Bin\CreateExpInstance.exe"
/Reset /VSInstance=14.0 /RootSuffix=Exp
似乎只是删除并重新创建相关文件。
答案 1 :(得分:4)
该错误意味着Visual Studio中的扩展信息缓存和您安装的扩展程序不同步。它不是(可能)任何扩展本身的错误,而是Visual Studio中的错误。确保你安装了所有更新的最新版本 - 我们在最近几个月修复了一些可能导致出错的错误。如果要强制重建缓存,可以运行:
devenv /updateconfiguration
强制在下次运行时重建缓存。
答案 2 :(得分:1)
要确保它是否与加载项或扩展程序工具相关,您可以在安全模式下运行VS:
devenv / SafeMode
如果它在安全模式下运行良好,我们会考虑它们。
根据您评论中的消息,我也没有对共享哪个扩展工具影响VS IDE的错误消息做好准备。
像这里的文件:
http://blog.masterdevs.com/debugging-a-visual-studio-crash/
您需要收集和查看详细的错误消息,例如&#34;未加载哪些dll文件或软件包或其他&#34;,如果您确保没有其他错误消息,也许您可以清除temp / AppData文件,重新打开你的VS,再次检查。
答案 3 :(得分:-1)
我通过删除<user>\AppData\Local\Microsoft\VisualStudio\
(“较低级别”重置调用无效,因为找不到目录blahblah\15.0Exp\
。)
顺便说一句,我使用VS2017RCUpdate3。