如何修复 Azure Pipelines 中的“错误处理方法:'System.Void Prism.Navigation.PageNavigationService' 错误”

How to fix 'Error processing method: 'System.Void Prism.Navigation.PageNavigationService' error in Azure Pipelines

将 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): error MSB4018: Mono.Linker.MarkException: Error processing method: 'System.Void Prism.Navigation.PageNavigationService::ConfigureTabbedPage(Xamarin.Forms.TabbedPage,System.String)' in assembly: 'Prism.Forms.dll' ---> Mono.Cecil.ResolutionException: Failed to resolve System.String[] System.String::Split(System.Char,System.StringSplitOptions) [/Users/vsts/agent/2.155.1/work/1/s/MasterDetailTabbed/MasterDetailTabbed.Android/MasterDetailTabbed.Android.csproj]"

PackageReference:

<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 导航

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

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

variables:
  buildConfiguration: 'Debug'

...

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

可能 Debug 构建配置正在将 AndroidLinkMode 设置为 None .我没有正确调查它,但很有可能,请参阅 Linking on Android 了解更多信息。

下一步可能是 Preserving Code