Vic*_*aru 7 c# android azure-devops maui
我创建了一个名为TestMauiApp的新 MAUI .NET 8.0 项目(与 Visual Studio 2022 创建的默认值相比没有任何更改) 。然后,我将一个 MAUI 类库添加到名为MauiLibrary的解决方案中,并将该类库链接到我的项目中。当我在 Azure Pipeline 上构建它时,出现以下错误:
"/Users/runner/work/1/s/TestMauiApp/TestMauiApp.sln" (SignAndroidPackage target) (1) ->
"/Users/runner/work/1/s/TestMauiApp/SkiaGum.Mobile/MauiLibrary.csproj" (SignAndroidPackage target) (3) ->
(_BuildApkEmbed target) ->
/Users/runner/hostedtoolcache/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/tools/Xamarin.Android.Common.targets(2150,3): error XABBA7009: System.InvalidOperationException: Assembly compression info not found for key '__CompressedAssembliesInfo:/Users/runner/work/1/s/TestMauiApp/SkiaGum.Mobile/MauiLibrary.csproj'. Compression will not be performed. [/Users/runner/work/1/s/TestMauiApp/SkiaGum.Mobile/MauiLibrary.csproj::TargetFramework=net8.0-android]
/Users/runner/hostedtoolcache/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/tools/Xamarin.Android.Common.targets(2150,3): error XABBA7009: at Xamarin.Android.Tasks.BuildApk.RunTask() [/Users/runner/work/1/s/TestMauiApp/SkiaGum.Mobile/MauiLibrary.csproj::TargetFramework=net8.0-android]
/Users/runner/hostedtoolcache/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/tools/Xamarin.Android.Common.targets(2150,3): error XABBA7009: at Microsoft.Android.Build.Tasks.AndroidTask.Execute() in /Users/runner/work/1/s/xamarin-android/external/xamarin-android-tools/src/Microsoft.Android.Build.BaseTasks/AndroidTask.cs:line 25 [/Users/runner/work/1/s/TestMauiApp/SkiaGum.Mobile/MauiLibrary.csproj::TargetFramework=net8.0-android]
Run Code Online (Sandbox Code Playgroud)
我无法在任何地方找到有关此问题的信息,因此我不确定从哪里开始解决此问题。
通过将以下行添加到我的MauiLibrary csproj 文件中,我能够克服此错误(或者可能只是将其替换为其他错误)。
<AndroidEnableAssemblyCompression>false</AndroidEnableAssemblyCompression>
Run Code Online (Sandbox Code Playgroud)
通过这样做,我现在得到一个不同的错误:
"/Users/runner/work/1/s/TestMauiApp/TestMauiApp.sln" (SignAndroidPackage target) (1) ->
"/Users/runner/work/1/s/TestMauiApp/SkiaGum.Mobile/MauiLibrary.csproj" (SignAndroidPackage target) (3) ->
(_BuildApkEmbed target) ->
/Users/runner/hostedtoolcache/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/tools/Xamarin.Android.Common.targets(2150,3): error XABBA7009: System.InvalidOperationException: Assembly store generator did not generate any stores [/Users/runner/work/1/s/TestMauiApp/SkiaGum.Mobile/MauiLibrary.csproj::TargetFramework=net8.0-android]
/Users/runner/hostedtoolcache/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/tools/Xamarin.Android.Common.targets(2150,3): error XABBA7009: at Xamarin.Android.Tasks.BuildApk.AddAssemblies(ZipArchiveEx apk, Boolean debug, Boolean compress, IDictionary`2 compressedAssembliesInfo, String assemblyStoreApkName) [/Users/runner/work/1/s/TestMauiApp/SkiaGum.Mobile/MauiLibrary.csproj::TargetFramework=net8.0-android]
/Users/runner/hostedtoolcache/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/tools/Xamarin.Android.Common.targets(2150,3): error XABBA7009: at Xamarin.Android.Tasks.BuildApk.ExecuteWithAbi(String[] supportedAbis, String apkInputPath, String apkOutputPath, Boolean debug, Boolean compress, IDictionary`2 compressedAssembliesInfo, String assemblyStoreApkName) [/Users/runner/work/1/s/TestMauiApp/SkiaGum.Mobile/MauiLibrary.csproj::TargetFramework=net8.0-android]
/Users/runner/hostedtoolcache/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/tools/Xamarin.Android.Common.targets(2150,3): error XABBA7009: at Xamarin.Android.Tasks.BuildApk.RunTask() [/Users/runner/work/1/s/TestMauiApp/SkiaGum.Mobile/MauiLibrary.csproj::TargetFramework=net8.0-android]
/Users/runner/hostedtoolcache/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/tools/Xamarin.Android.Common.targets(2150,3): error XABBA7009: at Microsoft.Android.Build.Tasks.AndroidTask.Execute() in /Users/runner/work/1/s/xamarin-android/external/xamarin-android-tools/src/Microsoft.Android.Build.BaseTasks/AndroidTask.cs:line 25 [/Users/runner/work/1/s/TestMauiApp/SkiaGum.Mobile/MauiLibrary.csproj::TargetFramework=net8.0-android]
Run Code Online (Sandbox Code Playgroud)
我不确定这是否是有效的解决方法/解决方案,但它似乎无法解决问题。
如果我从 .sln 中完全删除 MauiLibrary,那么构建项目时不会出现任何错误。
我该如何解决这个问题?
这是 yaml 文件:
trigger:
- master
stages:
- stage: BuildiOS
jobs:
- job: BuildMAUIApps
displayName: Build App
pool:
vmImage: 'macOS-12'
demands:
- MSBuild
steps:
- task: DownloadSecureFile@1
displayName: 'TMA DownloadSecureFile keystore'
name: keystore
inputs:
secureFile: 'platform.keystore'
- task: UseDotNet@2
displayName: .NET Version
inputs:
packageType: 'sdk'
version: '8.0.100'
- task: Bash@3
displayName: Install MAUI
inputs:
targetType: 'inline'
script: |
dotnet nuget locals all --clear
dotnet workload install android ios maui --source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7/nuget/v3/index.json --source https://api.nuget.org/v3/index.json
- task: Bash@3
displayName: Restore nuget
inputs:
targetType: 'inline'
script: |
cd TestMauiApp/
dotnet restore TestMauiApp.sln --no-cache
- task: Bash@3
displayName: TMA Maui Build
inputs:
targetType: 'inline'
script: |
cd TestMauiApp/
dotnet build -f net8.0-android -c Release -v d -t:SignAndroidPackage -p:AndroidPackageFormat=aab -p:AndroidKeyStore=True -p:AndroidSigningKeyStore=$(keystore.secureFilePath) -p:AndroidSigningStorePass=storePass -p:AndroidSigningKeyAlias=keyAlias -p:AndroidSigningKeyPass=keyPass
- task: Bash@3
displayName: 'build ls'
inputs:
targetType: 'inline'
script: |
ls
workingDirectory: ${{ format('{0}{1}', variables['System.DefaultWorkingDirectory'], 'TestMauiApp/TestMauiApp/bin/Release/net8.0-android/') }}
failOnStderr: true
- task: CopyFiles@2
displayName: 'TMA CopyFiles'
inputs:
SourceFolder: ${{ format('{0}{1}', variables['System.DefaultWorkingDirectory'], 'TestMauiApp/TestMauiApp/bin/Release/net8.0-android/') }}
contents: '*Signed.aab'
targetFolder: '$(build.artifactStagingDirectory)/AAB'
- task: PublishBuildArtifacts@1
displayName: 'TMA PublishBuildArtifacts'
inputs:
ArtifactName: 'AAB'
pathtoPublish: '$(build.artifactStagingDirectory)/AAB'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
229 次 |
| 最近记录: |