尝试在Windows 10上构建Cordova应用程序时始终失败
start := binary.BigEndian.Uint32([]byte(ip))
在带有VisualStudio 2017社区版的Windows 10 Pro 1709上。
我已经安装了包含(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。但是下载不再可用了。
答案 0 :(得分:5)
我终于让cordova build windows
和cordova 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
MSBUILDDIR
设为C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin
我还将这些首选项添加到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>
如果您使用 Ionic 3 ,则可以使用 bash 来投放npm install
,ionic cordova platform add windows@6.0.0
和ionic cordova build windows --prod
编译并复制到platform / www。但是,必须使用cordova build windows
或cordova run windows
如果App样式仍然类似于Android,请将此配置添加到app.module.ts
imports: [
IonicModule.forRoot(MyApp, {
mode: 'wp',
})
],