【问题标题】:How to fix 'Error processing method: 'System.Void Prism.Navigation.PageNavigationService' error in Azure Pipelines如何修复 Azure Pipelines 中的“错误处理方法:“System.Void Prism.Navigation.PageNavigationService”错误
【发布时间】:2019-12-20 22:12:12
【问题描述】:

将 Prism NuGet 包 7.2.0.1367 更新到我的 Xamarin.Forms 项目后,Azure 管道无法构建。本地构建与 App Center 构建一样成功。

我在 Azure Pipelines 中遇到以下错误

"/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2053,5): 错误MSB4018:Mono.Linker.MarkException:错误处理方法: '系统.无效 Prism.Navigation.PageNavigationService::ConfigureTabbedPage(Xamarin.Forms.TabbedPage,System.String)' 在汇编中:'Prism.Forms.dll'---> Mono.Cecil.ResolutionException: 无法解析 System.String[] System.String::Split(System.Char,System.StringSplitOptions) [/Users/vsts/agent/2.155.1/work/1/s/MasterDetailTabbed/MasterDetailTabbed.Android/MasterDetailTabbed.Android.csproj]"

包参考

<ItemGroup>
  <PackageReference Include="Prism.Unity.Forms" Version="7.2.0.1367" />
  <PackageReference Include="Xamarin.Forms" Version="4.1.0.673156" />
  <PackageReference Include="Xamarin.Essentials" Version="1.2.0" />
</ItemGroup>

您可以在 GitHub 上找到有关此问题的 sample project。它将结合 TabbedPages 演示 MasterDetailPage 导航。

我有点迷失在这里,所以任何帮助将不胜感激。

【问题讨论】:

  • 你能显示你的 android csproj 文件吗?
  • @Roubachof,您可以在示例项目中找到 here。感谢您的快速回复。
  • 尝试禁用 AndroidUseAapt2
  • 另外,当我忘记更新 Xamarin sdk 版本时,它已经发生在我身上(例如 Xamarin.Android 9.3 是最新的)。如果 prism 是使用最新版本构建的,并且 sdk 在 azure 中不是最新的,则可能会导致此类错误。
  • 不幸的是,使用 AndroidUseAapt2 或 AndroidLinkMode 玩 arround 并没有成功。可能 Azure 不是最新的?如何轻松确定 Prism 使用哪个 SDK 版本或在 Azure 上获取更新:)?

标签: azure xamarin xamarin.forms prism azure-pipelines


【解决方案1】:

将构建配置设置为 Debug 解决了构建问题。

variables:
  buildConfiguration: 'Debug'

...

steps:
- task: XamarinAndroid@1
  inputs:
    projectFile: '**/*droid*.csproj'
    outputDirectory: '$(outputDirectory)'
    configuration: '$(buildConfiguration)'

可能是 Debug 构建配置将 AndroidLinkMode 设置为 None。我没有对它进行适当的调查,但很有可能,请参阅Linking on Android 了解更多信息。

下一步可能是Preserving Code

【讨论】:

    猜你喜欢
    • 2020-09-19
    • 2021-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-02
    相关资源
    最近更新 更多