生成cordova-wp8进行调试时,MSBuild未能创建.xap

生成cordova-wp8进行调试时,MSBuild未能创建.xap,cordova,windows-phone-8,msbuild,cordova-3,Cordova,Windows Phone 8,Msbuild,Cordova 3,我正在构建一个cordova应用程序,并尝试在cmd提示符中运行“cordova build wp8”,但这似乎出错了: Your environment has been set up for using Node.js 0.10.25 (x64) and npm. C:\path\to\project>cordova build wp8 Generating config.xml from defaults for platform "wp8" Preparing wp8 proje

我正在构建一个cordova应用程序,并尝试在cmd提示符中运行“cordova build wp8”,但这似乎出错了:

Your environment has been set up for using Node.js 0.10.25 (x64) and npm.

C:\path\to\project>cordova build wp8
Generating config.xml from defaults for platform "wp8"
Preparing wp8 project
Compiling app on platform "wp8" via command "cmd" /c C:\path\to\project\platforms\wp8\cordova\build
Error: An error occurred while building the wp8 project.ERROR: MSBuild failed to
create .xap when building cordova-wp8 for debugging.

at ChildProcess.<anonymous> (C:\Users\Mark\AppData\Roaming\npm\node_modules\
cordova\src\compile.js:65:22)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:743:16)
at Socket.<anonymous> (child_process.js:956:11)
at Socket.EventEmitter.emit (events.js:95:17)
at Pipe.close (net.js:466:12)
您的环境已设置为使用Node.js 0.10.25(x64)和npm。
C:\path\to\project>cordova构建wp8
从平台“wp8”的默认值生成config.xml
准备wp8项目
通过命令“cmd”/c:\path\to\project\platforms\wp8\cordova\build在平台“wp8”上编译应用程序
错误:生成wp8项目时出错。错误:MSBuild无法
在构建cordova-wp8进行调试时创建.xap。
在这个过程中。(C:\Users\Mark\AppData\Roaming\npm\node\U模块\
cordova\src\compile.js:65:22)
在ChildProcess.EventEmitter.emit(events.js:98:17)
在maybeClose(child_process.js:743:16)
在插座上。(child_process.js:956:11)
位于Socket.EventEmitter.emit(events.js:95:17)
at Pipe.close(net.js:466:12)

Cordova docs指示您将其添加到wp8平台文件中:

<Capabilities>
    <Capability Name="ID_CAP_ISV_CAMERA" />
    <Capability Name="ID_HW_FRONTCAMERA" />
</Capabilities>

第二行打断了构建。删除:

<Capability Name="ID_HW_FRONTCAMERA" />


已修复此问题。

我的正在做相同的事情,但给出以下行:

at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:735:16)
at Socket.<anonymous> (child_process.js:948:11)
at Socket.EventEmitter.emit (events.js:95:17)
at Pipe.close (net.js:466:12)
ChildProcess.EventEmitter.emit(events.js:98:17)上的

在maybeClose(child_process.js:735:16)
在插座上。(child_process.js:948:11)
位于Socket.EventEmitter.emit(events.js:95:17)
at Pipe.close(net.js:466:12)

我不知道为什么。另一个应用程序正在构建中--发布很好。

您是否尝试在Windows 7系统上编译WP8应用程序?我认为这是不可能的,因为你需要Windows8来实现这个。。。我也遇到了同样的错误,为WP7进行编译对我来说很有效。

从我有限的经验来看,cordova wp8 CLI构建似乎存在局限性。如果我包括任何带有本机组件(例如SQLite)的插件,那么构建必须针对ARM for a device/x86 for the emulator。cordova wp8工具没有意识到这一点,并假设它都与任何CPU一起工作。因此,当platforms/wp8/cordova/lib/build.js检查.xap文件是否由“BIN\Debug”中的内置生成时,它无法找到在“BIN\ARM\Debug”中创建的xap(如果是为仿真器构建的,则为BIN\x86\Debug)


该应用程序是由CLI构建的,也可以从Visual studio构建/启动/调试-但如果可以从CLI管理其他平台,那就太遗憾了。

我正在运行8.1 ProPack,因为您需要它来运行Hyper V for WP8。