我在几个VSIX项目中工作,突然之间,由于某种原因,我无法正确调试它们。当我运行项目时,实验VS实例打开没有问题,但是一旦我加载解决方案,问题就开始了。
首先,如果我正在加载的解决方案处于源代码管理下,我会收到以下错误消息:
'GitCollaborationPackage'包未正确加载。 问题可能是由配置更改引起的 或者安装另一个分机。
还有一个指向日志文件的链接,该文件显示了一条显然不是很有用的错误消息:
LegacySitePackage for package [GitCollaborationPackage]失败来源: “”描述:灾难性的失败(HRESULT的例外情况: 0x8000FFFF(E_UNEXPECTED))
之后解决方案加载,但是一旦我尝试打开文件,我就会收到此错误:
预计1个带有合同名称的出口 “Microsoft.VisualStudio.Text.Editor.ITextEditorFactoryService”但是 在应用适用的约束后找到0。
我没有对我的项目进行任何重大更改,但以防万一我创建了一个全新的VSIX项目并立即运行,结果相同。
正如MSDN中所建议的那样,我尝试delete Visual Studio's component cache and reset Visual Studio's settings,但无济于事。
那么这里发生了什么?我该怎么做才能解决这个问题?
更新:一些新发现:
devenv /safemode
运行Visual Studio时,问题仍然存在。更新2:修复Visual Studio没有帮助。
答案 0 :(得分:0)
这不是答案,但是已经有两年了,问题仍然很严重,所以我认为有必要添加一些细节以便将来进行调查。
今天在我的计算机上,实验实例正在运行,但现在失败了。初始错误最常读取
“ RoslynPackage”软件包未正确加载。该问题可能是由于配置更改或安装其他扩展程序引起的。您可以通过检查文件'C:\ Users ... \ AppData \ Roaming \ Microsoft \ VisualStudio \ 15.0_b0b65856Exp \ ActivityLog.xml'获得更多信息。
但是失败的软件包有时会有所不同,无论如何,第二个错误(涉及ITextEditorFactoryService)很快就会出现。
在AppData中删除两个VisualStudio \ 15.0_b0b65856Exp文件夹无济于事,所以我尝试卸载并重新安装VS2017。那也没有帮助。
我尝试调试“已知良好的” Visual Studio扩展。同样的错误。我尝试加载一个简单的文本文件。同样的错误。
因此,我转到了Visual Studio 2019社区(在故障开始之前已经安装了该社区)。 VS 2019也失败,但其行为略有不同:第一个错误消息未出现,第二个错误已稍作修改(请注意“ 2”):
预期合同名称为“ Microsoft.VisualStudio.Text.Editor.ITextEditorFactoryService2”的1个导出,但在应用适用的约束后发现0。
我注意到,当我重新安装VS2017时,它仍然使用了先前安装中剩下的设置。当实验实例开始时,它会问我想要哪个主题。我告诉它使用“蓝色主题”,并且使用了几秒钟,但是随后它加载了“黑暗主题”,该主题与主实例使用的主题相同。这导致了一个假设,即故障是由实验实例选择加载的“僵尸”配置设置引起的,而这个设置我们只是不知道如何摆脱。但是,我尝试立即将.cs文件拖到实验实例上(在加载深色主题之前),并且仍然出现错误。另外,我尝试了“工具”->“导入和导出设置”->“重置所有设置(在实验实例内部)”,这没有帮助。
在我的情况下,命令行参数/rootsuffix Exp /safemode
阻止了错误的发生,但这是没有用的,因为它还会阻止我尝试调试的VSIX的加载。
这是ActivityLog.xml中提到“错误”一词的条目:
<entry>
<record>523</record>
<time>2020/03/11 00:20:56.182</time>
<type>Warning</type>
<source>VisualStudio</source>
<description>Unexpected system error mode before loading package [ProviderPackage]</description>
<guid>{5F2E5E42-4192-4D79-A0D8-1D881E808829}</guid>
</entry>
<entry>
<record>527</record>
<time>2020/03/11 00:20:56.494</time>
<type>Warning</type>
<source>VisualStudio</source>
<description>Unexpected system error mode before loading package [Microsoft.VisualStudio.Shell.Connected.Packages.PathTrustVerifier.PathTrustVerifierPackage]</description>
<guid>{2F6B5046-3BB0-4825-B344-3F4238921119}</guid>
</entry>
<entry>
<record>531</record>
<time>2020/03/11 00:20:56.511</time>
<type>Warning</type>
<source>VisualStudio</source>
<description>Unexpected system error mode before loading package [CSharpPackage]</description>
<guid>{13C3BBB4-F18F-4111-9F54-A0FB010D9194}</guid>
</entry>
<entry>
<record>534</record>
<time>2020/03/11 00:20:56.590</time>
<type>Warning</type>
<source>VisualStudio</source>
<description>Unexpected system error mode before loading package [RoslynPackage]</description>
<guid>{6CF2E545-6109-4730-8883-CF43D7AEC3E1}</guid>
</entry>
<entry>
<record>537</record>
<time>2020/03/11 00:20:56.811</time>
<type>Warning</type>
<source>VisualStudio</source>
<description>Unexpected system error mode before loading package [ErrorListPackage]</description>
<guid>{4A9B7E50-AA16-11D0-A8C5-00A0C921A4D2}</guid>
</entry>
<entry>
<record>541</record>
<time>2020/03/11 00:20:57.014</time>
<type>Warning</type>
<source>VisualStudio</source>
<description>Unexpected system error mode before loading package [Text Management Package]</description>
<guid>{F5E7E720-1401-11D1-883B-0000F87579D2}</guid>
</entry>
<entry>
<record>545</record>
<time>2020/03/11 00:20:57.026</time>
<type>Warning</type>
<source>VisualStudio</source>
<description>Unexpected system error mode before loading package [Microsoft.VisualStudio.Editor.Implementation.EditorPackage]</description>
<guid>{E269B994-EF71-4CE0-8BCD-581C217372E8}</guid>
</entry>
<entry>
<record>548</record>
<time>2020/03/11 00:20:57.457</time>
<type>Error</type>
<source>VisualStudio</source>
<description>LegacySitePackage failed for package [RoslynPackage]Source: 'Microsoft.VisualStudio.Composition' Description: Expected 1 export(s) with contract name "Microsoft.VisualStudio.LanguageServices.Implementation.TableDataSource.VisualStudioDiagnosticListTableCommandHandler" but found 0 after applying applicable constraints.
Microsoft.VisualStudio.Composition.CompositionFailedException: Expected 1 export(s) with contract name "Microsoft.VisualStudio.LanguageServices.Implementation.TableDataSource.VisualStudioDiagnosticListTableCommandHandler" but found 0 after applying applicable constraints.
 at Microsoft.VisualStudio.Composition.ExportProvider.GetExports(ImportDefinition importDefinition)
 at Microsoft.VisualStudio.Composition.ExportProvider.GetExports[T,TMetadataView](String contractName, ImportCardinality cardinality)
 at Microsoft.VisualStudio.Composition.ExportProvider.GetExport[T,TMetadataView](String contractName)
 at Microsoft.VisualStudio.Composition.ExportProvider.GetExport[T](String contractName)
 at Microsoft.VisualStudio.Composition.ExportProvider.GetExport[T]()
 at Microsoft.VisualStudio.Composition.ExportProvider.GetExportedValue[T]()
 at Microsoft.VisualStudio.ComponentModelHost.ComponentModel.GetService[T]()
 at Microsoft.VisualStudio.LanguageServices.Setup.RoslynPackage.LoadComponentsInUIContext()
 at Microsoft.VisualStudio.LanguageServices.Implementation.LanguageService.AbstractPackage.LoadComponentsInUIContextOnceSolutionFullyLoaded()
 at Microsoft.VisualStudio.LanguageServices.Setup.RoslynPackage.Initialize()
 at Microsoft.VisualStudio.Shell.Package.Microsoft.VisualStudio.Shell.Interop.IVsPackage.SetSite(IServiceProvider sp)</description>
<guid>{6CF2E545-6109-4730-8883-CF43D7AEC3E1}</guid>
<hr>80131500</hr>
<errorinfo></errorinfo>
</entry>
<entry>
<record>549</record>
<time>2020/03/11 00:20:57.469</time>
<type>Error</type>
<source>VisualStudio</source>
<description>SetSite failed for package [RoslynPackage](null)</description>
<guid>{6CF2E545-6109-4730-8883-CF43D7AEC3E1}</guid>
<hr>80131500</hr>
<errorinfo></errorinfo>
</entry>
<entry>
<record>551</record>
<time>2020/03/11 00:20:57.479</time>
<type>Warning</type>
<source>VisualStudio</source>
<description>Unexpected system error mode before loading package [Visual Studio Component Enumerator Package]</description>
<guid>{588205E0-66E0-11D3-8600-00C04F6123B3}</guid>
</entry>
<entry>
<record>555</record>
<time>2020/03/11 00:20:57.490</time>
<type>Error</type>
<source>VisualStudio</source>
<description>End package load [RoslynPackage]</description>
<guid>{6CF2E545-6109-4730-8883-CF43D7AEC3E1}</guid>
<hr>80131500</hr>
<errorinfo></errorinfo>
</entry>
注意:上面的错误是ActivityLog.xml中的最后一个条目;第二个错误没有显示在这里。
答案 1 :(得分:0)
对我来说,这是在使用 IViewTaggerProvider
而不是 IViewProvider
后开始发生的。把它改回来后,它就起作用了。
不知道为什么,而且我确实需要能够使用 IViewTaggerProvider
,但我希望这能让其他人获得更多见解。
编辑:好的,我解决了!这是因为我的 Export
属性中的类型与实现的类型不匹配。
所以我改变了:
[Export(typeof(ITaggerProvider))]
[ContentType("code")]
[TagType(typeof(ToDoTag))]
class ToDoTaggerProvider : IViewTaggerProvider
{ ... }
进入:
[Export(typeof(IViewTaggerProvider))]
[ContentType("code")]
[TagType(typeof(ToDoTag))]
class ToDoTaggerProvider : IViewTaggerProvider
{ ... }