Visual Studio 2015 RTM Cordova 项目不会调试/部署到 Android、Windows、Windows Phone

Posted

技术标签:

【中文标题】Visual Studio 2015 RTM Cordova 项目不会调试/部署到 Android、Windows、Windows Phone【英文标题】:Visual Studio 2015 RTM Cordova project won't debug/deploy to Android, Windows, Windows Phone 【发布时间】:2015-10-15 15:19:44 【问题描述】:

我感觉我升级到 Visual Studio 2015 RTM 太早了。 Visual Studio Emulator for android 将不再启动,声称预发布版本已过期。

我运行了 RTM 安装程序,允许它根据需要替换候选版本组件。该过程运行顺利,但现在升级后,Cordova 项目将不再部署或调试。

对于 Release Candidate,工具栏的绿色“开始”按钮有一个用于选择设备的下拉菜单。现在使用 RTM 版本,此按钮仅标记为“开始”,其下拉菜单不提供设备选择选项。相反,下拉列表中的唯一选项是“开始”。当我在“开始”按钮左侧的“解决方案平台”下拉列表中更改选择时,“开始”按钮仍然没有提供任何选择。见下图。

解决方案平台:Android

解决方案平台:Windows-AnyCPU

解决方案平台:Windows Phone 8

“调试”菜单的“开始调试”项已禁用。如果单击“开始”工具栏按钮,我会收到以下消息:“调试器无法继续运行该进程。无法开始调试。”

我已经确认 Visual Studio Emulator for Android 可以正常工作。我的配置文件 '5" Lollipop (5.0) XXHDPI Phone' 工作正常。

为了进行比较,我还在我的解决方案中添加了一个新的 Windows Phone 8.1 项目,并确认该项目允许选择调试目标。在工具栏中,单词 Start 被替换为“Emulator 8.1 WVGA 4 inch 512MB”。将此项目作为启动项目后,Debug 菜单现在启用了“Start Debugging”。该项目按预期启动。

由于适用于 Android 的 Visual Studio 模拟器可以正常运行,并且 Visual Studio 成功地针对 Windows Phone 模拟器,因此似乎存在与 Visual Studio 的 Cordova 项目类型相关的错误配置。缺少 VS2015 Cordova 项目与其“设备”目标之间的联系。

有什么想法吗?

更新:另见:Unable to start debugging in Visual Studio RTM for cordova app

更新 2:我做了一些调整:

    Apache Cordova 的依赖检查工具发现缺少 Android SDK 组件。我已经添加了这些,令人满意的 Dependency Checker。

    用于 Apache Cordova 的环境变量覆盖的工具显示没有 ADT_HOME 的路径。我已将其设置为“C:\Program Files (x86)\Android\android-sdk”。

    我的构建输出显示“[taskdef] 无法从资源 emma_ant.properties 加载定义。找不到它。”我添加了一个指向“C:\Program Files (x86)\Microsoft Visual Studio 14.0\Apps\apache-ant-1.9.3”的系统环境变量ANT_HOME,并将“;%ANT_HOME%\bin”添加到PATH。仍然存在“emma_ant.properties”消息,但未达到警告或错误的级别。

将解决方案平台设置为 Android,我当前的构建输出是:

1>------ Rebuild All started: Project: BlankCordovaApp2, Configuration: Debug Android ------
1>  Buildfile: C:\Users\billvo\Documents\Visual Studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\build.xml
1>    [taskdef] Could not load definitions from resource emma_ant.properties. It could not be found.
1>
1>  -check-env:
1>   [checkenv] Android SDK Tools Revision 23.0.0
1>   [checkenv] Installed at C:\Program Files (x86)\Android\android-sdk
1>
1>  -setup:
1>       [echo] Project Name: MainActivity
1>    [gettype] Project Type: Application
1>
1>  -pre-clean:
1>
1>  clean:
1>  [getlibpath] Library dependencies:
1>  [getlibpath]
1>  [getlibpath] ------------------
1>  [getlibpath] Ordered libraries:
1>    [taskdef] Could not load definitions from resource emma_ant.properties. It could not be found.
1>
1>  nodeps:
1>
1>  -check-env:
1>   [checkenv] Android SDK Tools Revision 23.0.0
1>   [checkenv] Installed at C:\Program Files (x86)\Android\android-sdk
1>
1>  -setup:
1>       [echo] Project Name: MainActivity
1>    [gettype] Project Type: Android Library
1>
1>  -pre-clean:
1>
1>  clean:
1>
1>  BUILD SUCCESSFUL
1>  Total time: 0 seconds
1>  Your environment has been set up for using Node.js 0.12.2 (ia32) and npm.
1>  ------ Ensuring correct global installation of package from source package directory: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\ApacheCordovaTools\packages\vs-tac
1>  ------ Name from source package.json: vs-tac
1>  ------ Version from source package.json: 1.0.0
1>  ------ Package not currently installed globally.
1>  ------ Installing globally from source package. This could take a few minutes...
1>  > edge@0.10.1 install C:\Users\billvo\AppData\Roaming\npm\node_modules\vs-tac\node_modules\edge
1>  > node tools/install.js
1>  Success: platform check for edge.js: node.js ia32 v0.12.2
1>  npm WARN engine npm@1.3.4: wanted: "node":">=0.6","npm":"1" (current: "node":"0.12.2","npm":"2.7.4")
1>  npm WARN engine cordova-js@3.6.2: wanted: "node":"~0.10.x" (current: "node":"0.12.2","npm":"2.7.4")
1>  npm WARN installMany normalize-package-data was bundled with npm@1.3.4, but bundled package wasn't found in unpacked tree
1>  C:\Users\billvo\AppData\Roaming\npm\vs-tac-cli -> C:\Users\billvo\AppData\Roaming\npm\node_modules\vs-tac\vs-tac-cli.cmd
1>  vs-tac@1.0.0 C:\Users\billvo\AppData\Roaming\npm\node_modules\vs-tac
1>  ├── rimraf@2.2.6
1>  ├── ncp@0.5.1
1>  ├── mkdirp@0.3.5
1>  ├── q@1.0.1
1>  ├── semver@2.3.1
1>  ├── adm-zip@0.4.4
1>  ├── fstream@0.1.28 (inherits@2.0.1, graceful-fs@3.0.8)
1>  ├── optimist@0.6.1 (wordwrap@0.0.3, minimist@0.0.10)
1>  ├── tar@0.1.20 (inherits@2.0.1, block-stream@0.0.8)
1>  ├── elementtree@0.1.6 (sax@0.3.5)
1>  ├── request@2.36.0 (forever-agent@0.5.2, aws-sign2@0.5.0, qs@0.6.6, oauth-sign@0.3.0, tunnel-agent@0.4.1, json-stringify-safe@5.0.1, mime@1.2.11, node-uuid@1.4.3, tough-cookie@2.0.0, http-signature@0.10.1, hawk@1.0.0, form-data@0.1.4)
1>  ├── ripple-emulator@0.9.30 (connect-xcors@0.5.2, colors@0.6.0-1, open@0.0.3, accounting@0.4.1, request@2.12.0, moment@1.7.2, express@3.1.0)
1>  ├── edge@0.10.1 (edge-cs@0.2.7, nan@1.8.4)
1>  └── plugman@0.22.4 (q@0.9.7, underscore@1.4.4, nopt@1.0.10, rc@0.3.0, cordova-lib@0.21.6, npm@1.3.4)
1>  ------ npm install of vs-tac@1.0.0 from C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\ApacheCordovaTools\packages\vs-tac completed.
1>  ------ Installing Cordova tools cordova@4.3.1 for project from npm. This could take a few minutes...
1>  npm WARN engine npm@1.3.4: wanted: "node":">=0.6","npm":"1" (current: "node":"0.12.2","npm":"2.7.4")
1>  npm WARN engine cordova-js@3.8.0: wanted: "node":"~0.10.x" (current: "node":"0.12.2","npm":"2.7.4")
1>  npm WARN engine xmlbuilder@2.2.1: wanted: "node":"0.8.x || 0.10.x" (current: "node":"0.12.2","npm":"2.7.4")
1>  npm WARN installMany normalize-package-data was bundled with npm@1.3.4, but bundled package wasn't found in unpacked tree
1>  cordova@4.3.1 node_modules\cordova
1>  ├── underscore@1.7.0
1>  ├── q@1.0.1
1>  ├── nopt@3.0.1 (abbrev@1.0.7)
1>  └── cordova-lib@4.3.1 (valid-identifier@0.0.1, osenv@0.1.0, properties-parser@0.2.3, bplist-parser@0.0.6, mime@1.2.11, unorm@1.3.3, semver@2.0.11, dep-graph@1.1.0, shelljs@0.3.0, rc@0.5.2, through2@0.6.3, npmconf@0.1.16, xcode@0.6.7, elementtree@0.1.5, d8@0.4.4, request@2.47.0, glob@4.0.6, tar@1.0.2, init-package-json@1.7.1, plist@1.1.0, cordova-js@3.8.0, npm@1.3.4)
1>  ------ npm install of cordova@4.3.1 from npm completed.
1>  ------ Build Settings:
1>  ------ Build Settings:
1>  ------    platformConfigurationBldDir: C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\bld\Android\Debug
1>  ------    platformConfigurationBinDir: C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\bin\Android\Debug
1>  ------    buildCommand: prepare
1>  ------    platform: Android
1>  ------    cordovaPlatform: android
1>  ------    configuration: Debug
1>  ------    cordovaConfiguration: Debug
1>  ------    projectName: BlankCordovaApp2
1>  ------    projectSourceDir: C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2
1>  ------    npmInstallDir: C:\Users\billvo\AppData\Roaming\npm
1>  ------    language: en-US
1>  ------ Platform android already exists
1>  ------ Updating plugins
1>  ------ Currently installed plugins:
1>  ------ Currently installed dependent plugins:
1>  ------ Currently configured plugins:
1>  ------ Preparing platform: android
1>  Generating config.xml from defaults for platform "android"
1>  Calling plugman.prepare for platform "android"
1>  Preparing android project
1>  Processing configuration changes for plugins.
1>  Iterating over installed plugins: []
1>  Writing out cordova_plugins.js...
1>  Wrote out Android application name to "BlankCordovaApp2"
1>  deleted: C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\res\drawable-land-hdpi\screen.png
1>  deleted: C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\res\drawable-land-ldpi\screen.png
1>  deleted: C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\res\drawable-land-mdpi\screen.png
1>  deleted: C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\res\drawable-land-xhdpi\screen.png
1>  deleted: C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\res\drawable-port-hdpi\screen.png
1>  deleted: C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\res\drawable-port-ldpi\screen.png
1>  deleted: C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\res\drawable-port-mdpi\screen.png
1>  deleted: C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\res\drawable-port-xhdpi\screen.png
1>  splash screens: ["src":"res/screens/android/screen-hdpi-landscape.png","density":"land-hdpi","platform":"android","src":"res/screens/android/screen-ldpi-landscape.png","density":"land-ldpi","platform":"android","src":"res/screens/android/screen-mdpi-landscape.png","density":"land-mdpi","platform":"android","src":"res/screens/android/screen-xhdpi-landscape.png","density":"land-xhdpi","platform":"android","src":"res/screens/android/screen-hdpi-portrait.png","density":"port-hdpi","platform":"android","src":"res/screens/android/screen-ldpi-portrait.png","density":"port-ldpi","platform":"android","src":"res/screens/android/screen-mdpi-portrait.png","density":"port-mdpi","platform":"android","src":"res/screens/android/screen-xhdpi-portrait.png","density":"port-xhdpi","platform":"android"]
1>  copying image from C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\res\screens\android\screen-hdpi-landscape.png to C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\res\drawable-land-hdpi\screen.png
1>  copying image from C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\res\screens\android\screen-ldpi-landscape.png to C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\res\drawable-land-ldpi\screen.png
1>  copying image from C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\res\screens\android\screen-mdpi-landscape.png to C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\res\drawable-land-mdpi\screen.png
1>  copying image from C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\res\screens\android\screen-xhdpi-landscape.png to C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\res\drawable-land-xhdpi\screen.png
1>  copying image from C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\res\screens\android\screen-hdpi-portrait.png to C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\res\drawable-port-hdpi\screen.png
1>  copying image from C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\res\screens\android\screen-ldpi-portrait.png to C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\res\drawable-port-ldpi\screen.png
1>  copying image from C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\res\screens\android\screen-mdpi-portrait.png to C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\res\drawable-port-mdpi\screen.png
1>  copying image from C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\res\screens\android\screen-xhdpi-portrait.png to C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\res\drawable-port-xhdpi\screen.png
1>  deleted: C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\res\drawable-hdpi\icon.png
1>  deleted: C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\res\drawable-ldpi\icon.png
1>  deleted: C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\res\drawable-mdpi\icon.png
1>  deleted: C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\res\drawable-xhdpi\icon.png
1>  copying image from C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\res\icons\android\icon-36-ldpi.png to C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\res\drawable-ldpi\icon.png
1>  copying image from C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\res\icons\android\icon-48-mdpi.png to C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\res\drawable-mdpi\icon.png
1>  copying image from C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\res\icons\android\icon-72-hdpi.png to C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\res\drawable-hdpi\icon.png
1>  copying image from C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\res\icons\android\icon-96-xhdpi.png to C:\Users\billvo\documents\visual studio 2015\Projects\BlankCordovaApp2\BlankCordovaApp2\platforms\android\res\drawable-xhdpi\icon.png
1>  Wrote out Android package name to "io.cordova.myapp2a20d4"
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========

无论我是为 Android、Windows-AnyCPU 还是 Windows Phone 8 构建,我仍然无法选择要调试的目标设备。

更新 3: 下图显示了已安装的 Visual Studio 2015 组件。我尝试添加 Visual C++ Mobile Development,但发现 Cordova 没有任何变化,因此我将其删除。

更新 4: 当我登录到新的本地用户帐户时,我可以针对适用于 Android 的 Visual Studio Emulator 进行调试。这告诉我该问题可能特定于我的主要 Windows 帐户的配置文件。我可以通过删除我的个人资料并重新开始来解决这个问题。

【问题讨论】:

我遇到了同样的问题,除了我从未安装过 VS2015 RC。我已经安装了最新的 VS2013 社区。尽我所能卸载 2013,安装 VS2015 社区并为 Cordova 项目获得相同的调试错误。 【参考方案1】:

看起来库因升级而损坏。请试一试:

    关闭所有VS实例 cd %appdata%\Local\Microsoft\Phone Tools” 重命名 CoreCon 文件夹 再次启动 VS。

如果这能解决您的问题,请告诉我们。 感谢您使用 VS 2015 和 Tools for Apache Cordova。

浸泡。

【讨论】:

这对我有用,谢谢。同样的答案在***.com/questions/31530014/… 一小时前给了 Leo 请问您的 appdata 是什么? 解决了,谢谢。已经修复然后卸载/重新安装了一整天的VS 2015! MS 应该真正解决这个问题,而不是这个愚蠢的错误消息来重命名 CoreCon 文件夹作为建议性修复。 也为我解决了...我正在从安装 VS2015 RTM 的同一台机器上删除 VS2013 和相应的 Cordova CTP。 @Subhag Oak -- 很抱歉尝试提出一个不相关的问题,但您对为什么 Visual Studio 2015 项目无法通过项目创建应用程序包有任何见解 ->商店菜单?以下是我和其他人面临的问题的参考:***.com/questions/28194022/…【参考方案2】:

“Subhag Oak”给出的答案对我有用。

这里是我的研究文档,如果它不适用于任何其他用户。

观察输出,了解您的具体原因。增加 VS-Options 中的 build-Verbosity。

转到工具 -> 选项 -> Apache Cordova 工具,点击“运行依赖检查器”

检查已安装的 Visual Studio 功能,默认选中此项:

对比msdn:Install Tools for Cordova

同时添加:

Windows Phone 8.1 模拟器 Android 原生开发套件(R10E,32 位)

如果在编译一个空白的 Cordova 应用程序后仍然没有模拟器:

我想你必须安装谷歌浏览器:msdn “安装程序不安装谷歌浏览器,如果你想运行适用于 ios 和 Android 的 Apache Ripple 模拟器,它是必需的,它不安装 Apple iTunes,这是将应用程序部署到连接到 Windows PC 的 iOS 设备所必需的。”

同时检查您的 Hyper-V 设置:

我正在查看适用于 Android 的 Tools\Visual Studio 模拟器:

查看SystemRequirements

查看此链接:Troubleshooting the Visual Studio Emulator for Android

或者给“重新安装 node.js”一个机会。再次等待“设置修复”。

【讨论】:

感谢您的建议。我已经解决了这些问题。他们帮助我解决了一些配置问题,但最初的问题仍然存在。我不确定 *** 认为什么是重复的,但您引用的问题专门针对 Android,没有提到 Windows 和 Windows Phone,它们在这里也失败了。如果它有“严重问题”,您可以点击“标记”。 很好的更新问题。阅读你的洞输出。并会尝试给出另一个提示。 我添加了显示已安装 VS2015 组件的图像。我已经安装了 Windows Phone 8.1 模拟器并使用了一个空的 WP 项目,所以我没有看到“下载模拟器 8.1...”当你安装它时,你的 Cordova 项目会让你选择那个模拟器吗?除了“开始”之外,我在开始下拉菜单上看不到任何选项。【参考方案3】:

上面的解决方案对我不起作用。但是在网上搜索了几个小时后,我找到了这个很有魅力的解决方案:

如果仍然安装了“通用 Windows 应用程序开发工具”:

    转到程序和功能,选择 Visual Studio 2105,单击更改。 在 Visual Studio 设置中,单击修改。 取消选择“通用 Windows 应用开发工具”功能 再次选择“通用Windows应用开发工具”,点击更新。

来源:https://social.msdn.microsoft.com/Forums/vstudio/en-US/c9936d80-087d-4cad-93bf-ca4873889773/the-debugger-cannot-continue-running-the-process?forum=vsdebug

【讨论】:

【参考方案4】:

@SubhagOak 重命名 CoreCon 文件夹的解决方案也对我有用,即使部署前的场景略有不同。无法通过 USB 调试从 VS2015 部署到 Android 设备。错误通知是通过 VS 弹出窗口生成的,基本上说明无法找到文件,但 VS 错误控制台中没有列出任何错误。它只生成一个弹出窗口。打开使用 VS2015 Teamwork Explorer 创建的新克隆的本地 GIThub 存储库的新本地分支后收到此错误。

这是该解决方案第二次对我有用;同样的场景。

【讨论】:

以上是关于Visual Studio 2015 RTM Cordova 项目不会调试/部署到 Android、Windows、Windows Phone的主要内容,如果未能解决你的问题,请参考以下文章

MSBuild 支持 Visual Studio 2017 RTM 中的 T4 模板

无法安装 Visual Studio 2013 更新 5 (RTM); Apache Cordova 工具

Visual Studio 2015正式发布

Visual Studio 2015 间歇性崩溃

使用 Visual Studio 2012 (RTM,Premium) 为 Windows Phone 7(或 7.1)开发

T4 预处理模板调试不起作用 - Visual Studio 2010 RTM