问题:
-
我在ionic2中有一个应用程序,我可以为windows 10构建,直到我添加了cordova-plugin-mbf(MBF版本8.0.0) .
-
当我添加它时,构建失败并要求我添加参数--archs = x64
-
有了它,构建继续失败但是出现此错误"msbuild.exe: Command failed with exit code 1"
我尝试的是什么:
-
启动一个新项目来验证我可以在没有插件的情况下构建
-
将插件添加到空项目中以验证是谁抛出错误
-
从头开始重新安装Windows以确保我的设置正确
-
使用节点v5.12构建
-
哭了很多
我的设置:
-
Cordova CLI:6.3.1
-
Ionic Framework版本:2.0.0-beta.11
-
Ionic CLI版本:2.0.0-beta.37
-
Ionic App Lib版本:2.0.0-beta.20
-
OS:节点版本:v6.5.0
-
Windows 10版本1511; 10586.545
-
Visual Studio 2015社区版:
-
microsoft web开发工具
-
通用Windows应用开发工具
-
tools(1.4.1)和windows 10 SDK(10.0.14393)
-
windows 10 SDK(10.0.10586)
-
windows 10 SDK(10.0.10240)
-
windows 8.1和windows phone 8.0 / 8.1工具
-
工具和Windows SDK
适用于Windows Phone 8.1的
- 模拟器
完整程序:
开始一个干净的项目:
ionic start testBuildWin10 -v2
cd testBuildWin10
将config.xml设置为目标windows10而不是Windows 8.1
<platform name="windows">
<preference name="windows-target-version" value="10.0" />
</platform>
在此步骤中,应用程序可以正常工作,但在添加mfp时失败:
cordova plugin add cordova-plugin-mfp
cordova prepare
ionic run windows
错误要求我添加参数--archs = x64
运行命令:“C:\ Program Files \ nodejs \ node.exe”C:\ Users \ Eric \ Desktop \ testBuildWin10-2 \ hooks \ after_prepare \ 010_add_platform_class.js C:\ Users \ Eric \ Desktop \ testBuildWin10-2 add到body类:platform-windows构建项目:C:\ Users \ Eric \ Desktop \ testBuildWin10-2 \ platforms \ windows \ CordovaApp.Windows10.jsproj配置:debug
平台:anycpu
C:\ Users \ Eric \ Desktop \ testBuildWin10-2 \ platforms \ windows \ CordovaApp.Windows10.jsproj(83,9):错误:以下组件需要.NET Native编译,当定位'Windows10'和'AnyCPU时不可用” . 考虑将目标处理器体系结构更改为以下之一:'x86,x64,ARM'(如果使用命令行,可以通过添加'--archs'参数来完成,例如:'cordova build windows --archs = 64' ) . C:\ Users \ Eric \ Desktop \ testBuildWin10-2 \ platforms \ windows \ plugins \ cordova-plugin-globalization \ GlobalizationProxy.winmd错误:C:\ Program Files(x86)\ MSBuild \ 14.0 \ bin \ msbuild.exe:Command退出代码1失败
然后当我运行离子运行--archs = x64
C:\ Users \ Eric \ Desktop \ testBuildWin10-2 \ platforms \ windows \ CordovaApp.Windows10.jsproj(83,9):错误:以下组件需要.NET Native编译,在定位'Windows10'和'时不可用AnyCPU” . 请考虑将目标处理器体系结构更改为以下之一:'x86,x64,ARM'(如果使用命令行,可以通过添加'--archs'参数来完成,例如:'cordova build windows --archs = 64' ) . C:\ Users \ Eric \ Desktop \ testBuildWin10-2 \ platforms \ windows \ plugins \ cordova-plugin-globalization \ GlobalizationProxy.winmd错误:C:\ Program Files(x86)\ MSBuild \ 14.0 \ bin \ msbuild.exe:Command退出代码1失败
1 回答
Mobilefirst Windows SDK包含体系结构特定的DLL . 因此,
ionic run windows
命令将因为运行AnyCPU
而失败 .要运行特定于平台的命令,您需要在
--archs=x64
之前添加--
分隔符 .尝试使用命令
ionic run windows -- --archs=x64
,我希望它应该解决问题 .