You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio 2017下Cordova iOS远程构建失败求助:缺失appAsTgz.tgz文件

Cordova iOS远程构建报错:找不到临时文件appAsTgz.tgz

问题描述

已耗时一周完成基于SDK 32的Android版本构建,但iOS远程构建持续报错,卡在找不到临时文件C:\Users\myuser\AppData\Local\Temp\appAsTgz.tgz的问题,无法继续推进。

环境配置

  • Windows 10 - Visual Studio 2017 Professional v15.9.51
  • SDK Build Tool:32.0.0
  • Cordova 11.1.0,android 10.1.2,ios 6.2.0
  • Node.js:14.17.3(曾尝试13.14.0、18.13.0 LTS)
  • npm:9.1.2(曾尝试6.14.13、7.7.6、8.1.0)
  • Java:11.0.17
  • 远程构建Mac:Ventura 13系统、Xcode 14.2,网络可访问,此前长期正常运行

报错日志

D:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v15.0\ApacheCordovaTools\vs-mda-targets\Microsoft.MDA.FileMirroring.targets(256,5): error MSB4018: The "VsTac" task failed unexpectedly.
D:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v15.0\ApacheCordovaTools\vs-mda-targets\Microsoft.MDA.FileMirroring.targets(256,5): error MSB4018: System.IO.FileNotFoundException: Could not find file 'C:\Users\myuser\AppData\Local\Temp\appAsTgz.tgz'.
D:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v15.0\ApacheCordovaTools\vs-mda-targets\Microsoft.MDA.FileMirroring.targets(256,5): error MSB4018: File name: 'C:\Users\myuser\AppData\Local\Temp\appAsTgz.tgz'
D:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v15.0\ApacheCordovaTools\vs-mda-targets\Microsoft.MDA.FileMirroring.targets(256,5): error MSB4018:    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
D:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v15.0\ApacheCordovaTools\vs-mda-targets\Microsoft.MDA.FileMirroring.targets(256,5): error MSB4018:    at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
D:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v15.0\ApacheCordovaTools\vs-mda-targets\Microsoft.MDA.FileMirroring.targets(256,5): error MSB4018:    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
D:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v15.0\ApacheCordovaTools\vs-mda-targets\Microsoft.MDA.FileMirroring.targets(256,5): error MSB4018:    at System.IO.FileStream..ctor(String path, FileMode mode)
D:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v15.0\ApacheCordovaTools\vs-mda-targets\Microsoft.MDA.FileMirroring.targets(256,5): error MSB4018:    at Microsoft.VisualStudio.MultiDeviceHybridApps.MdaBuildTasks.RemoteBuild.AppAsTgzStream(String changeTimeFile, JObject lastChangeTimesMap)
D:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v15.0\ApacheCordovaTools\vs-mda-targets\Microsoft.MDA.FileMirroring.targets(256,5): error MSB4018:    at Microsoft.VisualStudio.MultiDeviceHybridApps.MdaBuildTasks.RemoteBuild.Build()
D:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v15.0\ApacheCordovaTools\vs-mda-targets\Microsoft.MDA.FileMirroring.targets(256,5): error MSB4018:    at Microsoft.VisualStudio.MultiDeviceHybridApps.MdaBuildTasks.VsTac.BuildPlatform()
D:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v15.0\ApacheCordovaTools\vs-mda-targets\Microsoft.MDA.FileMirroring.targets(256,5): error MSB4018:    at Microsoft.VisualStudio.MultiDeviceHybridApps.MdaBuildTasks.VsTac.Execute()
D:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v15.0\ApacheCordovaTools\vs-mda-targets\Microsoft.MDA.FileMirroring.targets(256,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
D:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v15.0\ApacheCordovaTools\vs-mda-targets\Microsoft.MDA.FileMirroring.targets(256,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()
    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:02.41
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
========== Deploy: 0 succeeded, 0 failed, 0 skipped ==========

解决方案与配置建议

1. 清理临时文件与重建项目缓存

  • 手动删除C:\Users\myuser\AppData\Local\Temp下所有Cordova/Visual Studio相关临时文件,避免残留缓存干扰
  • 在项目根目录执行命令重建iOS平台:
    cordova clean ios
    cordova platform remove ios
    cordova platform add ios@6.2.0
    
  • 重启Visual Studio后重新发起构建

2. 检查临时目录权限与安全软件拦截

  • 确认当前Windows用户对C:\Users\myuser\AppData\Local\Temp目录拥有完全控制权限:右键目录→属性→安全→编辑,添加用户并勾选所有权限
  • 临时关闭杀毒软件、防火墙的实时监控功能,防止其拦截VS生成临时tgz文件的操作

3. 调整VS远程构建设置

  • 打开Visual Studio,依次进入工具 > 选项 > Apache Cordova工具 > 远程代理,勾选「禁用增量构建」,强制重新打包整个项目
  • 登录远程Mac,清理Cordova缓存目录~/Library/Caches/com.microsoft.visualstudio.macroservice,然后重启远程构建服务

4. 锁定兼容的Node/npm版本

  • 尽管已尝试多个版本,建议锁定Node.js 14.x LTS + npm 6.x的组合,Cordova 11.x与该版本兼容性更稳定
  • 重新安装Cordova iOS平台确保版本匹配:
    npm uninstall -g cordova-ios
    npm install -g cordova-ios@6.2.0
    

5. 绕过VS工具,直接用Cordova命令行构建

  • 在Windows项目目录下,直接通过Cordova命令连接远程Mac执行构建,避免VS的VsTac工具出现问题:
    cordova build ios --device --buildConfig=build.json
    
    (需提前在build.json中配置远程Mac的IP、用户名、密码等信息)

内容的提问来源于stack exchange,提问作者PaulTaggert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 03:35:20