我无法再使用Cordova Tools for Visual Studio了。我在打开Cordova项目时遇到以下错误: ' ApacheCordovaToolsPackage'包dit无法正确加载。'。
我已经在SO处尝试过这里提出的解决方案,包括但不限于:
The 'ApacheCordovaToolsPackage' package did not load correctly
Error: SetSite failed for package [ApacheCordovaToolsPackage]
这些解决方案并没有解决我的问题。
总结我已经尝试过的事情:
我认为它与错误的路径定义有关,因为ActivityLog.xml中记录的错误指定了。
错误#1:
<entry>
<record>714</record>
<time>2017/01/15 18:09:04.318</time>
<type>Error</type>
<source>VisualStudio</source>
<description>LegacySitePackage failed for package [ApacheCordovaToolsPackage]Source: 'mscorlib' Description: Could not find a part of the path 'C:\Users\andre\AppData\Local\Microsoft\Windows\INetCookies\Low'.
System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\andre\AppData\Local\Microsoft\Windows\INetCookies\Low'.
 at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
 at System.IO.FileSystemEnumerableIterator`1.CommonInit()
 at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
 at System.IO.Directory.GetFiles(String path, String searchPattern)
 at Microsoft.VisualStudio.MultiDeviceHybridApps.VSPackages.Telemetry.Cookies.CookieReader.GetCookiesFromFolders(List`1 paths, String browser)
 at Microsoft.VisualStudio.MultiDeviceHybridApps.VSPackages.Telemetry.Cookies.CookieReader.GetCookies()
 at Microsoft.VisualStudio.MultiDeviceHybridApps.Telemetry.Reporting.solutionListener_ProjectOpened(Object sender, ProjectEventArgs e)
 at Microsoft.VisualStudio.MultiDeviceHybridApps.Telemetry.Reporting.SendMissedProjectOpenEvents()
 at Microsoft.VisualStudio.MultiDeviceHybridApps.Telemetry.Reporting..ctor(IServiceProvider serviceProvider, SolutionEventsListener solutionListener)
 at Microsoft.VisualStudio.MultiDeviceHybridApps.Telemetry.Reporting.Initialize(IServiceProvider serviceProvider)
 at Microsoft.VisualStudio.MultiDeviceHybridApps.VSPackages.ApacheCordovaToolsPackage.Initialize()
 at Microsoft.VisualStudio.Shell.Package.Microsoft.VisualStudio.Shell.Interop.IVsPackage.SetSite(IServiceProvider sp)</description>
<guid>{317A330D-8757-4084-8526-E8A1D165433D}</guid>
<hr>80070003</hr>
<errorinfo></errorinfo>
错误#2:
<entry>
<record>512</record>
<time>2017/01/14 19:29:06.740</time>
<type>Error</type>
<source>VisualStudio</source>
<description>CreateInstance failed for package [ApacheCordovaToolsPackage]Source: 'mscorlib' Description: Exception has been thrown by the target of an invocation.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> 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) No exports were found that match the constraint: 
	ContractName	Microsoft.VisualStudio.MultiDeviceHybridApps.Definitions.ICordovaAppConfigurationServiceProvider
	RequiredTypeIdentity	Microsoft.VisualStudio.MultiDeviceHybridApps.Definitions.ICordovaAppConfigurationServiceProvider

Resulting in: Cannot set import 'Microsoft.VisualStudio.MultiDeviceHybridApps.VSPackages.ApacheCordovaToolsPackage.configurationServiceProvider (ContractName="Microsoft.VisualStudio.MultiDeviceHybridApps.Definitions.ICordovaAppConfigurationServiceProvider")' on part 'Microsoft.VisualStudio.MultiDeviceHybridApps.VSPackages.ApacheCordovaToolsPackage'.
Element: Microsoft.VisualStudio.MultiDeviceHybridApps.VSPackages.ApacheCordovaToolsPackage.configurationServiceProvider (ContractName="Microsoft.VisualStudio.MultiDeviceHybridApps.Definitions.ICordovaAppConfigurationServiceProvider") --> Microsoft.VisualStudio.MultiDeviceHybridApps.VSPackages.ApacheCordovaToolsPackage

 at System.ComponentModel.Composition.CompositionResult.ThrowOnErrors(AtomicComposition atomicComposition)
 at System.ComponentModel.Composition.Hosting.ImportEngine.SatisfyImportsOnce(ComposablePart part)
 at System.ComponentModel.Composition.Hosting.CompositionContainer.SatisfyImportsOnce(ComposablePart part)
 at Microsoft.VisualStudio.Composition.NetFxAdapters.CompositionService.SatisfyImportsOnce(ComposablePart part)
 at System.ComponentModel.Composition.AttributedModelServices.SatisfyImportsOnce(ICompositionService compositionService, Object attributedPart)
 at Microsoft.VisualStudio.MultiDeviceHybridApps.VSPackages.ApacheCordovaToolsPackage..ctor()
 --- End of inner exception stack trace ---
 at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
 at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
 at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
 at System.Activator.CreateInstance(Type type, Boolean nonPublic)
 at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, StackCrawlMark& stackMark)
 at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
 at System.Activator.CreateInstanceFromInternal(String assemblyFile, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo)
 at System.AppDomain.CreateInstanceFrom(String assemblyFile, String typeName)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) No exports were found that match the constraint: 
	ContractName	Microsoft.VisualStudio.MultiDeviceHybridApps.Definitions.ICordovaAppConfigurationServiceProvider
	RequiredTypeIdentity	Microsoft.VisualStudio.MultiDeviceHybridApps.Definitions.ICordovaAppConfigurationServiceProvider

Resulting in: Cannot set import 'Microsoft.VisualStudio.MultiDeviceHybridApps.VSPackages.ApacheCordovaToolsPackage.configurationServiceProvider (ContractName="Microsoft.VisualStudio.MultiDeviceHybridApps.Definitions.ICordovaAppConfigurationServiceProvider")' on part 'Microsoft.VisualStudio.MultiDeviceHybridApps.VSPackages.ApacheCordovaToolsPackage'.
Element: Microsoft.VisualStudio.MultiDeviceHybridApps.VSPackages.ApacheCordovaToolsPackage.configurationServiceProvider (ContractName="Microsoft.VisualStudio.MultiDeviceHybridApps.Definitions.ICordovaAppConfigurationServiceProvider") --> Microsoft.VisualStudio.MultiDeviceHybridApps.VSPackages.ApacheCordovaToolsPackage

 at System.ComponentModel.Composition.CompositionResult.ThrowOnErrors(AtomicComposition atomicComposition)
 at System.ComponentModel.Composition.Hosting.ImportEngine.SatisfyImportsOnce(ComposablePart part)
 at System.ComponentModel.Composition.Hosting.CompositionContainer.SatisfyImportsOnce(ComposablePart part)
 at Microsoft.VisualStudio.Composition.NetFxAdapters.CompositionService.SatisfyImportsOnce(ComposablePart part)
 at System.ComponentModel.Composition.AttributedModelServices.SatisfyImportsOnce(ICompositionService compositionService, Object attributedPart)
 at Microsoft.VisualStudio.MultiDeviceHybridApps.VSPackages.ApacheCordovaToolsPackage..ctor()</description>
<guid>{317A330D-8757-4084-8526-E8A1D165433D}</guid>
<hr>80004005 - E_FAIL</hr>
<errorinfo></errorinfo>
任何人都可以帮助我吗?
一些额外信息:
答案 0 :(得分:0)
我在MSDN上发了帖子,负责Cordova Tools的团队联系了我。显然,我的系统上缺少以下文件夹:C:\ Users \ [username] \ AppData \ Local \ Microsoft \ Windows \ INetCookies \ Low
通过启动Internet Explorer,重新创建了丢失的文件夹,随后,我再也没有收到任何错误。我的问题现在解决了。