Ionic / Cordova Windows 构建拾取不正确的 MSBUILD 路径

Posted

技术标签:

【中文标题】Ionic / Cordova Windows 构建拾取不正确的 MSBUILD 路径【英文标题】:Ionic / Cordova Windows build picking up incorrect MSBUILD path 【发布时间】:2019-12-19 12:43:39 【问题描述】:

我不得不在我的 Windows 10 机器上对 Visual Studio 进行一些更新(在一些许可问题之后)。

我曾经卸载过 Visual Studio Enterprise 2017。我现在拥有 Visual Studio Professional 2017 和 Studio Enterprise 2019(我最近安装的)。我还安装了 Visual Studio Build Tools 2019 (2)。

现在,当我尝试通过我一直使用的命令构建 Ionic 项目时...

ionic cordova build windows --prod --release -- --archs="x86 x64 arm" --buildConfig=platform_build_files\\windows\\build.config

我现在得到错误...

    Building project: D:\dev\myapp\platforms\windows\CordovaApp.Windows10.jsproj
            Configuration : release
            Platform      : x86
            Buildflags    : /p:AppxBundle=Never,/p:UapAppxPackageBuildMode=StoreUpload
            MSBuildTools  : C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin
    buildProject spawn: C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\msbuild [ 'D:\\dev\\myapp\\platforms\\windows\\CordovaApp.Windows10.jsproj',  '/clp:NoSummary;NoItemAndPropertyList;Verbosity=minimal',
      '/nologo',
      '/p:Configuration=release',
      '/p:Platform=x86',
      '/p:AppxBundle=Never',
      '/p:UapAppxPackageBuildMode=StoreUpload' ]  stdio: 'inherit' 
    The system cannot find the path specified.
    No valid MSBuild was detected for the selected target: Error: C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\msbuild: Command failed with exit code ENOENT

当然,我卸载了文件夹C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise

我已经为我的 Ionic 应用程序删除并重新添加了 Windows 平台,但这并没有帮助。

另外,我不确定这是否相关,但是当我尝试在 Visual Studio 2019 中打开 CordovaApp.sln 时,我得到以下信息...

不确定是否相关。

我的问题是,如何重置此 MSBuild 路径?我在任何地方都看不到任何环境变量,我只是无法摆脱这条老路

编辑 1

我按照建议添加了环境变量:

打开了一个新的命令提示符,但它仍在寻找不存在的路径

未检测到所选目标的有效 MSBuild:错误:C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\msbuild:命令失败,退出代码为 ENOENT

【问题讨论】:

【参考方案1】:

在 Visual Studio 2019 中,如果您想使用 Cordova 等 Web 技术构建 UWP 应用,则不再支持使用 javascript 创建 UWP 应用。您需要使用 Visual Studio 2017。

我的问题是,如何重置此 MSBuild 路径?

Visual Studio 会选择没有显式设置的 MSBuild 版本,但您可以通过设置环境变量来更改。

请将MSBuild的路径添加到系统环境变量中,如:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin

最好的问候。

【讨论】:

感谢您提供的信息。我添加了上述内容,但似乎没有使用该路径(问题中的屏幕截图) 对不起,这是我的问题。请将 MSBuild 路径添加到 PATH 变量:) 我将路径添加到 PATH 变量中,但它仍在查找不存在的旧路径。也许它是某处的注册表设置...... 嗨,这似乎不是有效的 MSBuild 路径。您是否尝试过使用 Visual Studio 2017 构建您的应用程序? 好点。刚试过,我得到Severity Code Description Project File Line Suppression State Error C1083 Cannot open include file: 'winapifamily.h': No such file or directory SQLite3.UWP c:\program files (x86)\windows kits\10\include\10.0.15063.0\ucrt\corecrt.h 196。所以一定和this有关

以上是关于Ionic / Cordova Windows 构建拾取不正确的 MSBUILD 路径的主要内容,如果未能解决你的问题,请参考以下文章

node+mongodb+ionic+cordova

VS2015 Cordova Ionic移动开发

在 ionic serve/cordova 运行 android 命令后,Ionic CSS 更改不会持久

安装nodejs+ionic+cordova环境心得

Ionic+Cordova WebApp Android打包及环境搭建

VS2017 Cordova 出现错误 @ionic/app-scripts 未安装