Visual Studio 更新 (16.8.1) 导致 CI​​ 构建失败

2024-03-07

我们最近将构建服务器更新为使用 Visual Studio 16.8.1 和 Xamarin.iOS 14.4.1.3,并且遇到了以前运行的 MSBuild 命令的问题。

作为记录,我们正在构建一个 Xamarin Forms 解决方案,并在此处针对 iOS。

命令是:

"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\msbuild" MySolution.sln /p:Configuration="AppStore" /p:Platform="iPhone" /p:ServerAddress="" /p:ServerUser=""

我已尝试搜索它报告的特定错误消息(如下),但到目前为止我还没有找到任何有用的信息。

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Xamarin\iOS\Xamarin.Shared.targets(230,3):错误 MSB4044:未为“GetMinimumOSVersion”任务提供所需的值参数“SdkVersion”。

Update

经过进一步挖掘,我相信我已经将错误的根源追溯到这些行没有被设置Xamarin.Shared.props.

<!-- SdkVersion -->
<_SdkVersion Condition="'$(_PlatformName)' == 'macOS'">$(MacOSXSdkVersion)</_SdkVersion>
<_SdkVersion Condition="'$(_PlatformName)' != 'macOS'">$(MtouchSdkVersion)</_SdkVersion>

我无法找出是什么设置了 MtouchSdkVersion 以及为什么它没有被设置。上面引用的部分的评论指出:

有时,我们对 Xamarin.iOS 和 Xamarin.Mac 项目的同一事物使用不同的变量名称。这里我们尝试统一这些变量

这种统一是否会改变一些曾经有效的行为?


这在 Visual Studio 2019 版本 16.8.3 中再次出现。看起来他们已经将问题转移到:<VS Install path>\MSBuild\Xamarin\iOS\Xamarin.Messaging.targets通过删除第 52 行 _DisconnectAfterClean 目标的 _SayGoodbye 依赖项,我能够再次运行我的构建。

<Target Name="_DisconnectAfterClean" Condition="'$(IsRebuild)' != 'true'" DependsOnTargets="" />

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Visual Studio 更新 (16.8.1) 导致 CI​​ 构建失败 的相关文章

随机推荐