Cordova在Windows 10和VisualStudio 2017上构建Windows

btx*_*btx 1 windows msbuild cordova

尝试在Windows 10上构建Cordova应用程序始终会失败,而
(node:31) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): No valid MSBuild was detected for the selected target.
在带有VisualStudio 2017 Community Edition的Windows 10 Pro 1709上将始终失败。

我完全按照Windows的cordova文档中有关 Windows 10的所有说明进行操作

我已经用Mobile Development with Javascript包含cordova工具的软件包安装了VS。我还为Visual Studio 2017安装了其他构建工具
要创建测试应用,我使用了来自文档的命令:

cordova create test
cd test
cordova platform add windows
cordova build windows
Run Code Online (Sandbox Code Playgroud)

经过数小时的研究,我发现问题可能是活动的WindowsPolicy DisableRegistryTools,但这不是造成此问题的原因。重新安装VisualStudio也没有任何效果。错误消息始终是相同的。

编辑:我刚刚检查过cordova requirements,我之前不知道该命令。这是输出:

Requirements check results for windows:
Windows OS: installed Windows 10
MSBuild Tools: not installed
MSBuild tools v.12.0 not found. Please install Visual Studio 2013 Express  for Windows Update2 from https://www.visualstudio.com/downloads/download-visual-    studio-vs
Visual Studio: not installed
Required version of Visual Studio not found. Please install Visual Studio 2013 Express for Windows Update2 from     https://www.visualstudio.com/downloads/download-visual-studio-vs
Windows SDK: not installed
Windows SDK not found. Ensure that you have installed Windows 8.1 SDK along with Visual Studio or install Windows 8.1 SDK separately from     https://dev.windows.com/en-us/downloads
Windows Phone SDK: not installed
Windows Phone SDK not found. Ensure that you have installed Windows Phone 8.1 SDK along with Visual Studio or install Windows Phone 8.1 SDK separately from https://dev.windows.com/develop/download-phone-sdk
Error: Some of requirements check failed
Run Code Online (Sandbox Code Playgroud)

如果可能,我将尝试所需的VisualStudio的较早版本。但是下载不再可用。

btx*_*btx 5

我终于cordova build windowscordova run windows这个工作之后在科尔多瓦博客最近公布的指南

  • 安装VistualStudio Community 2017或更高版本

    • 带有选项

      • 通用Windows平台开发,
        +添加可选:Windows 10移动仿真器(Fall Creators Update)
        +添加可选:Windows 10 SDK(10.0.15063.0)从UWP:C#,VB,JS
        +添加可选:Windows 10 SDK(10.0.10586.0 )

      • 使用JavaScript进行移动开发
        +添加可选:Windows 10移动仿真器(秋季创作者更新)
        +添加可选:UWP-Cordova工具

  • 安装适用于Visual Studio 2017的构建工具,您可以在其他工具和框架部分 的VS下载页面上找到它们

    • 下面的选项可能并非全部都是必需的,但我安装了所有选项以使其运行。
    • 带有选项

      • Visual C ++ Buildtools
        +添加可选:Windows 10 SDK(10.0.16299.0)for Desktop C ++
        +添加可选:Visual C ++-Tools for CMake

      • 用于Web开发的构建
        工具+添加可选:.NET Framework 4–4.6开发工具
        +添加可选:.NET Core 2.0开发工具
        +添加可选:NuGet-Ziele和Buildaufgaben
        +添加可选:TypeScript 2.6 SDK
        +添加可选:扩展ASP .NET功能

      • .NET Core-Buildtools

      • Node.js Buildtools


  • 确保使用cordova platform add windows@6.0.0
    其他方式将5.0.0添加到您的项目中,这与VisualStudio 2017大多数不兼容。
  • 确保设置MSBUILDDIRC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin
  • 确保在Windows不要使用bash,否则Cordova不会识别您在Windows操作系统上。因此,您必须使用CMDPowershell
  • 我还将这些首选项添加到config.xml中

    <platform name="windows">
        <preference name="windows-target-version" value="10.0" />
        <preference name="windows-phone-target-version" value="10.0" />
        <preference name="WindowsDefaultUriPrefix" value="ms-appx://" />
    </platform>
    
    Run Code Online (Sandbox Code Playgroud)

    -如果仍然遇到错误,请尝试在Visual Studio中打开项目并在那里构建。

  • 如果您使用的是Ionic 3,则可以使用bash运行npm installionic cordova platform add windows@6.0.0并将ionic cordova build windows --prod其编译并复制到platform / www。但是,必须使用CMD使用或来构建.appx软件包cordova build windowscordova run windows

  • 如果应用程序样式仍然类似于Android,请将此配置添加到 app.module.ts

     imports: [
       IonicModule.forRoot(MyApp, {
           mode: 'wp',
       })
     ],
    
    Run Code Online (Sandbox Code Playgroud)