{"meta":{"title":"生成和测试Xamarin应用程序","intro":"了解如何在GitHub Actions中创建持续集成（CI）工作流，以生成和测试Xamarin应用程序。","product":"GitHub Actions","breadcrumbs":[{"href":"/zh/enterprise-cloud@latest/actions","title":"GitHub Actions"},{"href":"/zh/enterprise-cloud@latest/actions/tutorials","title":"教程"},{"href":"/zh/enterprise-cloud@latest/actions/tutorials/build-and-test-code","title":"构建和测试代码"},{"href":"/zh/enterprise-cloud@latest/actions/tutorials/build-and-test-code/xamarin-apps","title":"Xamarin应用"}],"documentType":"article"},"body":"# 生成和测试Xamarin应用程序\n\n了解如何在GitHub Actions中创建持续集成（CI）工作流，以生成和测试Xamarin应用程序。\n\n## 简介\n\n本指南介绍如何创建为Xamarin项目执行持续集成（CI）的工作流。 您创建的工作流程将允许您查看拉取请求提交何时会在默认分支上导致构建或测试失败； 这个方法可帮助确保您的代码始终是健康的。\n\n有关在 GitHub Actions 托管的 macOS 运行器上可用的 Xamarin SDK 版本完整列表，请参阅 [GitHub Actions Runner Images 存储库](https://github.com/actions/runner-images/tree/main/images/macos)中你要使用的 macOS 版本对应的 README 文件。\n\n## 先决条件\n\n建议你基本了解 Xamarin、.NET Core SDK、YAML、工作流配置选项以及如何创建工作流文件。 有关详细信息，请参阅：\n\n* [GitHub Actions 的工作流语法](/zh/enterprise-cloud@latest/actions/reference/workflows-and-actions/workflow-syntax)\n* [.NET 入门](https://dotnet.microsoft.com/learn)\n* [了解 Xamarin](https://dotnet.microsoft.com/learn/xamarin)\n\n若要使用本指南中的示例，需要一 GitHub.com个存储库。 macOS 运行程序在 GHE.com 的子域（例如 `octocorp.ghe.com`）上不可用。\n\n## 生成 Xamarin.iOS 应用\n\n下面的示例演示如何更改默认Xamarin SDK 版本并生成 Xamarin.iOS 应用程序。\n\n```yaml\nname: Build Xamarin.iOS app\n\non: [push]\n\njobs:\n  build:\n\n    runs-on: macos-latest\n\n    steps:\n    - uses: actions/checkout@v6\n    - name: Set default Xamarin SDK versions\n      run: |\n        $VM_ASSETS/select-xamarin-sdk-v2.sh --mono=6.12 --ios=14.10\n\n    - name: Set default Xcode 12.3\n      run: |\n        XCODE_ROOT=/Applications/Xcode_12.3.0.app\n        echo \"MD_APPLE_SDK_ROOT=$XCODE_ROOT\" >> $GITHUB_ENV\n        sudo xcode-select -s $XCODE_ROOT\n\n    - name: Setup .NET Core SDK 5.0.x\n      uses: actions/setup-dotnet@v4\n      with:\n        dotnet-version: '5.0.x'\n\n    - name: Install dependencies\n      run: nuget restore <sln_file_path>\n\n    - name: Build\n      run: msbuild <csproj_file_path> /p:Configuration=Debug /p:Platform=iPhoneSimulator /t:Rebuild\n```\n\n## 构建 Xamarin.Android 应用\n\n下面的示例演示如何更改默认Xamarin SDK 版本并生成Xamarin。Android 应用程序。\n\n```yaml\nname: Build Xamarin.Android app\n\non: [push]\n\njobs:\n  build:\n\n    runs-on: macos-latest\n\n    steps:\n    - uses: actions/checkout@v6\n    - name: Set default Xamarin SDK versions\n      run: |\n        $VM_ASSETS/select-xamarin-sdk-v2.sh --mono=6.10 --android=10.2\n\n    - name: Setup .NET Core SDK 5.0.x\n      uses: actions/setup-dotnet@v4\n      with:\n        dotnet-version: '5.0.x'\n\n    - name: Install dependencies\n      run: nuget restore <sln_file_path>\n\n    - name: Build\n      run: msbuild <csproj_file_path> /t:PackageForAndroid /p:Configuration=Debug\n```\n\n## 指定.NET版本\n\n若要在 GitHub 托管的运行器上使用预安装的 .NET Core SDK 版本，请使用 `setup-dotnet` 操作。 此作从每个运行程序上的工具缓存中找到特定版本的.NET，并将必要的二进制文件添加到 `PATH`。 这些更改将在任务的剩余时间内持续有效。\n\n`setup-dotnet` 操作是将 .NET 与 GitHub Actions 配合使用的推荐方式，因为它可确保在不同运行器和不同版本的 .NET 之间具有一致的行为。 如果您使用自托管运行程序，则必须安装 .NET 并将其添加到 `PATH`。 有关详细信息，请参阅 [`setup-dotnet`](https://github.com/marketplace/actions/setup-net-core-sdk) 操作。"}