【问题标题】:The "GetMinimumOSVersion" task was not given a value for the required parameter "SdkVersion"没有为“GetMinimumOSVersion”任务提供所需参数“SdkVersion”的值
【发布时间】:2021-02-04 17:50:14
【问题描述】:

我正在尝试运行 msbuild 命令行,但是,我进入了它的最后一步,出现以下错误(它是葡萄牙语,但标题中的错误相同。

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\iOS\Xamarin.Shared.targets(227,3): erro
r MSB4044: A tarefa "GetMinimumOSVersion" não recebeu um valor para o parâmetro obrigatório "SdkVersion". [E:\2-PROJETO
S\_ALGORIX\Projetos\ACCORD\SOLUTION\AppAlgorix\AppAlgorix.iOS\AppAlgorix.iOS.csproj]

我的 msbuild 命令是:

msbuild AppAlgorix.sln /p:Configuration=AppStore;Platform=iPhone /p:CFBundleVersion=1 /p:CFBundleShortVersionString=2.3.1 /p:ServerAddress={mac ip address} /p:ServerUser={mac user} /p:ServerPassword={mac pwd} /p:BuildIpa=true /p:IpaPackageDir="E:\8-IPAS\ACCORD" /t:Clean;Build /p:ArchiveOnBuild=false /p:IsAppDistribution=false /p:CodesignKey="{App ID identifier}" /p:CodesignProvision="{App Provisioning Profile}"

所有 {} 数据都是机密的,因此我对其进行了裁剪。

这个命令曾经工作过,但我不知道什么时候,但在一些 VS 2019 更新后,该命令停止工作。

我找到了一些关于它的文章,但我找不到解决这个问题的方法。

这些文章中有一篇是这样的:

https://www.gitmemory.com/issue/xamarin/xamarin-macios/10109/729614745

我的 VS 2019 更新到 16.8.4 版本。

我在这里有大约 40 个应用程序来构建和获取 ipa。我正在运行 dosbat 来解决它,并更快地获得这些 ipa。没有这个 msbuild 命令行工作,会给我带来一个大问题,因为我几乎每周都会在我的应用程序中进行一些更新,并且一个一个地构建,这不是一个好主意。

还有一件事是……我可以在 VS 2019 中构建,没有任何问题。该问题仅通过 msbuild 命令行发生。

【问题讨论】:

    标签: visual-studio xamarin command-line msbuild xamarin.iot


    【解决方案1】:

    我使用帖子Visual Studio update (16.8.1) lead to CI build failures 解决了错误。

    “这在 Visual Studio 2019 版本 16.8.3 中再次引起关注。 看起来他们已将问题移至: \MSBuild\Xamarin\iOS\Xamarin.Messaging.targets 我能够得到 通过删除线上的 _SayGoodbye 依赖,我的构建再次运行 _DisconnectAfterClean 目标为 52。”

    虽然我已经解决了错误,但现在我无法生成 ios.ipa 包。现在,我只得到文件 projectName.iOS.exe,而不是 projectName.iOS.ipa。

    我不知道这个解决方法是否是这个错误的最终解决方案。

    【讨论】:

    【解决方案2】:

    我们通过运行构建连续两次解决了这个问题。 (继续出错 - 忽略失败的第一次构建

    第一次总是因为问题标题中的错误而失败,但它必须以某种方式进行设置,以便第二次构建具有成功所需的内容。生成国际音标等。

    重要提示:不要不要在两个构建之间进行清理


    我知道这个解决方案是一种 hack 解决方法,但我更喜欢手动更改 .targets 文件,正如我在其他地方看到的建议(这些建议在我们的案例中无论如何都不起作用)。在不深入了解构建过程内部的情况下进行此类更改可能会导致意外的副作用。

    注意:由于此解决方案涉及预期的部分首次构建失败,它确实会增加构建时间,但每次构建只增加大约一两分钟,至少它可以可靠地工作。


    希望这对某人有帮助! ?

    【讨论】:

      猜你喜欢
      • 2021-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-28
      • 2014-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多