Cordova在Windows 10和VisualStudio 2017上构建窗口

时间:2018-03-06 23:07:46

标签: windows cordova msbuild

尝试在Windows 10上构建Cordova应用程序时始终失败 start := binary.BigEndian.Uint32([]byte(ip))
在带有VisualStudio 2017社区版的Windows 10 Pro 1709上。

我在cordova docs for windows

中完全遵循了Windows 10的所有说明

我已经安装了包含(node:31) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): No valid MSBuild was detected for the selected target.的VS,其中包含了cordova工具。我还安装了额外的Build Tools for Visual Studio 2017 要创建测试应用程序,我使用了docs中的命令:

Mobile Development with Javascript

经过数小时的研究,我发现问题可能是一个活跃的WindowsPolicy cordova create test cd test cordova platform add windows cordova build windows ,但这不会导致问题。重新安装VisualStudio也没有任何影响。错误消息始终相同。

编辑: 我刚检查DisableRegistryTools,之前我不知道那个命令。这是输出:

cordova requirements

如果有可能,我会尝试所需的旧版VisualStudio。但是下载不再可用了。

1 个答案:

答案 0 :(得分:5)

我终于让cordova build windowscordova run windows按照recently posted guide on the cordova blog进行了工作。

  • 安装VistualStudio Community 2017或更好

    • 使用选项

      • 通用Windows平台开发,
        +添加可选:Windows 10 Mobile-Emulator(秋季创作者更新)
        +添加可选:Windows 10 SDK(10.0.15063.0),用于UWP:C#,VB,JS
        +添加可选:Windows 10 SDK(10.0.10586.0)

      • 使用JavaScript进行移动开发 +添加可选:Windows 10 Mobile-Emulator(秋季创作者更新)
        +添加optinoal:用于Cordova的UWP-Tools

  • 安装Build Tools for Visual Studio 2017,您可以在VS下载页面的其他工具和框架部分找到它们

    • 下面的选项可能并非都是必要的,但是我已经安装了所有选项以使其正常运行。
    • 使用选项

      • Visual C ++ Buildtools
        +添加可选:Windows 10 SDK(10.0.16299.0),用于桌面C ++
        + add optional:Visual C ++ - 用于CMake的工具

      • 用于Web开发的Buildtools
        + add optional:.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几乎不兼容。
  • 务必将MSBUILDDIR设为C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin
  • 确保不在Windows上使用bash ,否则Cordova将无法识别您使用的是Windows操作系统。所以你必须使用 CMD Powershell
  • 我还将这些首选项添加到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>
    

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

  • 如果您使用 Ionic 3 ,则可以使用 bash 来投放npm installionic cordova platform add windows@6.0.0ionic cordova build windows --prod编译并复制到platform / www。但是,必须使用cordova build windowscordova run windows

  • CMD 来构建 .appx
  • 如果App样式仍然类似于Android,请将此配置添加到app.module.ts

     imports: [
       IonicModule.forRoot(MyApp, {
           mode: 'wp',
       })
     ],