0

我刚刚将我的 Visual Studio 2015 更新为最新的 Tools for Apache Cordova Update 8.1。我现在无法选择任何模拟器,因为调试目标下拉菜单已禁用。我怎样才能重新启用它?

我已经尝试在选项下“清除 Cordova 缓存”并重建解决方案,但它仍然被禁用。在从 Update 8 更新到 8.1 之前,一切正常。

这是我的工具栏现在的样子: 禁用调试目标

更新

我尝试修复 VS 2015,然后卸载 TACO,重新安装 TACO Update 8.1。现在,当我加载 Cordova 项目时,Debug Target下拉菜单已启用,但列表中只有 Google Android Emulator 和 Ripple 模拟器。我无法添加任何 VS Android 模拟器。加载项目后,我收到此错误:

ApacheCordovaToolsPackage 未正确加载

查看ActivityLog.xml,最后,我看到了这个错误:

<entry>
    <record>765</record>
    <time>2016/04/19 14:55:50.168</time>
    <type>Error</type>
    <source>VisualStudio</source>
    <description>CreateInstance failed for package [ApacheCordovaToolsPackage][Exception has been thrown by the target of an invocation.]:{   at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean&amp; canBeCached, RuntimeMethodHandleInternal&amp; ctor, Boolean&amp; bNeedSecurityCheck)&#x000D;&#x000A;   at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark&amp; stackMark)&#x000D;&#x000A;   at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark&amp; stackMark)&#x000D;&#x000A;   at System.Activator.CreateInstance(Type type, Boolean nonPublic)&#x000D;&#x000A;   at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, StackCrawlMark&amp; stackMark)&#x000D;&#x000A;   at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)&#x000D;&#x000A;   at System.Activator.CreateInstanceFromInternal(String assemblyFile, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo)&#x000D;&#x000A;   at System.AppDomain.CreateInstanceFrom(String assemblyFile, String typeName)}</description>
    <guid>{317A330D-8757-4084-8526-E8A1D165433D}</guid>
    <hr>80131604</hr>
    <errorinfo>Exception has been thrown by the target of an invocation.</errorinfo>
  </entry>

我尝试了迈克尔关于运行devenv命令的建议,但我仍然遇到同样的错误。

任何帮助将不胜感激。

4

1 回答 1

0

在让 Microsoft 开发人员尝试帮助我无济于事后,我开始使用 TACO CLI 和 VS Code 作为替代方案(一个相当不错的替代方案,只是它缺少JavaScript 语言服务输出,这使我能够看到所有控制台输出)。但是,我想我终于找到了重新启用目标下拉列表的修复程序。

最初,我尝试删除 VS 2015 Update 2 并重新安装它。这实际上启用了几天的下拉菜单。然后有一天它又开始被禁用。这是我为重新启用下拉菜单所做的:

  1. 在 VS 2015 中关闭您的解决方案。
  2. 打开文件“ %LOCALAPPDATA%\Microsoft\VisualStudioEmulator\Android\configurationsBackup.xml ”。
  3. 搜索您使用Visual Studio Emulator for Android安装的设备配置文件。从该标记复制id属性值。<configuration>也复制该device.name值。
  4. 打开应用的.jsproj.user文件。在该项下<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Android'">,将值更改为您从configurationBackup.xml<AndroidEmulatorID>复制的值。例如,对于 5.7" Android 5.0 配置文件,整个标签将是 <AndroidEmulatorID>61B433CF-8C92-4CEA-9CA1-009DC946ED7E;VS Emulator 5.7" Lollipop (5.0) XHDPI Phone</AndroidEmulatorID>
  5. 保存.jsproj.user文件。从 VS 2015 打开您的解决方案。

不确定是否所有步骤都是必要的,但它为我启用了下拉菜单。希望这可以帮助遇到此问题的任何人。

于 2016-06-23T20:41:14.987 回答