用于Apache Cordova的Visual Studio工具在Update 8.1之后禁用了模拟器目标下拉列表

时间:2016-04-18 15:57:54

标签: visual-studio-2015 visual-studio-cordova taco

我刚刚将Visual Studio 2015更新为最新的Apache Cordova Update 8.1工具。我现在无法选择任何模拟器,因为禁用了调试目标下拉列表。如何重新启用它?

我试过" Clear Cordova Cache"在选项和重建解决方案下,但它仍然被禁用。在从Update 8更新到8.1之前,一切正常。

这就是我的工具栏现在的样子: disabled debug target

更新

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

ApacheCordovaToolsPackage did not load correctly

查看 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命令的建议,但我仍然遇到同样的错误。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

让微软的开发人员试图帮助我无济于事之后,我开始使用TACO CLI和VS Code作为替代方案(除了缺少 JavaScript语言服务输出之外,它还非常好用)查看所有控制台输出)。但是,我想我终于找到了重新启用目标下拉列表的修复程序。

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

  1. 在VS 2015中关闭您的解决方案。
  2. 打开文件&#34; %LOCALAPPDATA%\ Microsoft \ VisualStudioEmulator \ Android \ configurationsBackup.xml &#34;。
  3. 使用适用于Android的Visual Studio模拟器搜索已安装的设备配置文件。从该<configuration>标记中复制 id 属性值。同时复制device.name值。
  4. 打开您应用的 .jsproj.user 文件。在<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Android'">项下,将<AndroidEmulatorID>中的值更改为您从 configurationBackup.xml 复制的值。例如,对于5.7&#34; Android 5.0个人资料,整个标签都会 <AndroidEmulatorID>61B433CF-8C92-4CEA-9CA1-009DC946ED7E;VS Emulator 5.7" Lollipop (5.0) XHDPI Phone</AndroidEmulatorID>
  5. 保存 .jsproj.user 文件。从VS 2015打开您的解决方案。
  6. 不确定是否所有步骤都是必要的,但它为我启用了下拉列表。希望这有助于遇到此问题的任何人。