在构建cordova-wp8进行调试时,MSBuild无法创建.xap

时间:2014-03-26 17:57:14

标签: 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 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)

4 个答案:

答案 0 :(得分:0)

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

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

第二行打破了构建。除去:

<Capability Name="ID_HW_FRONTCAMERA" />

解决了这个问题。

答案 1 :(得分:0)

我正在做同样的事情,但是给出了这些内容:

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)

我不确定为什么。另一个应用程序正在构建 - 发布就好了。

答案 2 :(得分:0)

您是否尝试在Windows 7系统上编译WP8-App?我认为这是不可能的,因为你需要Windows 8 ...我得到了同样的错误,WP7的编译为我工作。

答案 3 :(得分:0)

根据我的有限经验,cordova wp8 CLI构建似乎存在限制。如果我包含任何具有本机组件的插件(例如SQLite),则构建必须针对ARM,以用于模拟器的设备/ x86。 cordova wp8工具没有意识到这一点,并假设它与AnyCPU一起工作。因此,当platforms / wp8 / cordova / lib / build.js检查。&B; \ Debug&#34;中的构建生成.xap文件时它无法找到在&#34; Bin \ ARM \ Debug&#34;中创建的xap。 (如果为模拟器构建,则为Bin \ x86 \ Debug)。

应用程序由CLI构建,也可以从Visual Studio构建/启动/调试 - 但是当可以从CLI管理其他平台时,这很可惜。