添加MobileFirst插件时,为Windows10构建ionic2应用程序失败

时间:2016-09-14 12:54:40

标签: cordova ibm-mobilefirst win-universal-app ionic2

问题:

  • 我在ionic2中有一个应用程序,我可以为windows 10构建,直到我添加了cordova-plugin-mbf(MBF版本8.0.0)。
  • 当我添加它时,构建失败并要求我添加参数--archs = x64
  • 使用它,构建继续失败,但出现此错误" msbuild.exe:命令失败,退出代码为1"

我尝试了什么:

  • 启动一个新项目以验证我可以在没有插件的情况下构建
  • 将插件添加到空项目中以验证是谁抛出错误
  • 从头开始重新安装Windows以确保我的设置正确
  • 使用node 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
  • 操作系统:节点版本:v6.5.0

  • Windows 10版本1511; 10586.545

  • Visual Studio 2015社区版:
    • microsoft web development tools
    • 通用Windows应用开发工具
      • 工具(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

  

运行命令:&#34; C:\ Program Files \ nodejs \ node.exe&#34;   C:\用户\埃里克\桌面\ testBuildWin10-2 \吊钩\ after_prepare \ 010_add_platform_class.js   C:\ Users \用户埃里克\桌面\ testBuildWin10-2

     

添加到body类:platform-windows

     

建筑项目:   C:\ Users \用户埃里克\桌面\ testBuildWin10-2 \平台\ Windows \ CordovaApp.Windows10.jsproj

    Configuration : debug
    Platform      : anycpu
     

C:\用户\埃里克\桌面\ testBuildWin10-2 \平台\ Windows \ CordovaApp.Windows10.jsproj(83,9):   错误:以下组件需要.NET Native编译   在定位&#39; Windows10&#39;时不可用和&#39; AnyCPU&#39;。考虑   将目标处理器体系结构更改为以下之一:   &#39; x86,x64,ARM&#39; (如果您使用的是命令行,则可以通过以下方式完成   添加&#39; - archs&#39;参数,例如:&#39; cordova构建窗口   --archs = 64&#39)。 C:\ Users \用户埃里克\桌面\ testBuildWin10-2 \平台\ Windows \插件\科尔多瓦-插件全球化\ GlobalizationProxy.winmd

     

错误:C:\ Program Files(x86)\ MSBuild \ 14.0 \ bin \ msbuild.exe:Command   退出代码1失败

然后当我运行离子运行--archs = x64

  

C:\用户\埃里克\桌面\ testBuildWin10-2 \平台\ Windows \ CordovaApp.Windows10.jsproj(83,9):   错误:以下组件需要.NET Native编译   在定位&#39; Windows10&#39;时不可用和&#39; AnyCPU&#39;。请   考虑将目标处理器架构更改为其中一个   以下:&#39; x86,x64,ARM&#39; (如果你使用命令行,这可以   通过添加&#39; - archs&#39;来完成参数,例如:&#39; cordova build   windows --archs = x64&#39;)。   C:\ Users \用户埃里克\桌面\ testBuildWin10-2 \平台\ Windows \插件\科尔多瓦-插件全球化\ GlobalizationProxy.winmd

     

错误:C:\ Program Files(x86)\ MSBuild \ 14.0 \ bin \ msbuild.exe:Command   退出代码1失败

1 个答案:

答案 0 :(得分:3)

具有体系结构特定DLL的Mobilefirst Windows SDK软件包。因此,ionic run windows命令将在AnyCPU运行时失败。

要运行特定于平台的命令,您需要在--之前添加--archs=x64分隔符。

尝试使用命令ionic run windows -- --archs=x64,我希望它能解决问题。