本地预配向导和预配代理。
下载并安装 Visual Studio 2022。
下载 Visual Studio 2022
在安装期间,选择 使用 .NET 进行移动开发 工作负载(上述安装链接已预先选择该选项)。
已经有 Visual Studio?
如果已有 Visual Studio 2022,则可以添加 使用 .NET 进行移动开发 工作负载:
- 选择 Windows 徽标键,键入 Visual Studio 安装程序,然后按“输入”。
- 如果出现提示,则请允许安装程序进行自我更新。
- 如果 Visual Studio 2022 的更新可用,则将显示更新 按钮。选择该按钮以在修改安装前进行更新。
- 找到 Visual Studio 2022 安装并选择 修改。
- 选择 使用 .NET 进行移动开发 并点击 修改。
检查 Visual Studio 更新
本教程针对最新版本的 Visual Studio 进行了优化。如果已有 Visual Studio 2022,则可以检查更新:
- 选择 Windows 徽标键,键入 Visual Studio 安装程序,然后按“输入”。
- 如果出现提示,则请允许安装程序进行自我更新。
- 如果有可用的更新,则 Visual Studio 2022 安装将具有 更新 按钮。请选择该按钮以进行更新。
下载并安装 Visual Studio 2019 for Mac。
下载 Visual Studio 2019 for Mac
在安装过程中,确保选中 Android + Xamarin.Forms 和 iOS + Xamarin.Forms 平台。
检查 Visual Studio 更新
此教程针对最新版本的 Visual Studio 进行了优化。如果已经拥有 Visual Studio 2019,则可以检查更新:
- 打开 Visual Studio for Mac。
- 在菜单栏中,选择 Visual Studio > “检查更新”。
- 将显示可用更新并选择“更新”。
可选: 安装 Xcode
若要为 iOS 或 macOS 构建 Xamarin 应用,则还需要:
安装 Xcode 后,如果出现提示,则必须打开 Xcode,同意服务条款并安装可选组件。
创建应用
创建新的 Xamarin 应用:
- 打开 Visual Studio 2022。
- 选择 新建项目。
- 选择项目类型下拉菜单下的移动端。
- 选择“移动应用(Xamarin.Forms)”模板,然后选择“下一步”。
- 输入 AwesomeApp 作为项目名称,然后选择“创建”。
- 如果收到有关防火墙阻止一些功能的对话框警告,请选择 允许访问 按钮。
- 选择 空白模板。请确保已选择 Android 和 iOS,然后选择 创建。

Android SDK 安装
构建项目需要特定版本的 Android SDK。如果计算机缺少所需的 SDK,则在加载新项目时,将看到以下提示。选择“接受”以开始自动安装。

还原 NuGet 包
NuGet 是一个包管理器,它将引入新应用的依赖项。
包还原过程将自动启动。请等候,直到 已还原 或 就绪 消息显示在屏幕左下角的状态栏中。
创建新的 Xamarin 应用:
- 打开 Visual Studio 2019 for Mac。
- 选择“新建项目”。
- 选择“多平台”>“应用”>“空白应用”(在 Xamarin.Forms 下面),然后选择“下一步”。
- 输入 AwesomeApp 作为应用名称,然后选择“下一步”。
- 选择“创建”。
还原 NuGet 包
NuGet 是一个包管理器,它将引入新应用的依赖项。
应用程序加载后,右键单击“AwesomeApp”解决方案并选择“还原 NuGet 包”

配置设备
要使用 Android 设备进行调试,可以将 Android 设备配置为连接到 Visual Studio 或使用仿真器。请选择最适合你的方案。
设置 Android 设备
要使用 Android 设备进行开发,需要启用 USB 调试。
启用开发人员模式
- 在 Android 设备上,转到 设置 屏幕。
- 使用设置屏幕顶部的搜索功能查找内部版本号,或在“关于手机”中查找。
- 点击“内部版本号”7-10 次,直到弹出 “你现在是开发人员!”。
- 选择“创建”。

检查 USB 调试状态
- 在 Android 设备上,转到 设置 屏幕。
- 使用设置屏幕顶部的搜索功能查找“USB 调试”,或在开发人员选项中查找。
- 启用 USB 调试(如果尚未启用)。

信任设备
- 使用 USB 线将手机连接到计算机。
- 如果之前未使用设备上的计算机进行调试,则会收到信任该计算机的提示。
- 还可以检查 始终允许从此计算机 以防止每次连接设备时都需要此提示。
- 选择 确定。

你的设备现在已配置,并将作为部署目标显示在 Visual Studio 中。
有问题?查看文档。
设置 Android Emulator
如果没有要部署到的设备,则需要设置 Android 仿真器或使用设备。如果已执行此操作,则可以跳过此步骤。
如果是首次生成 Xamarin 应用程序,则需要创建新的 Android Emulator。你将在调试菜单中看到 "Android Emulator"。单击它以启动创建过程。

这会显示要接受的用户帐户控制提示,以启动模拟器创建流程。请选择 是。
这会显示 新设备 对话框,该对话框已为基本仿真器预配置默认的 Android 设备。请选择创建。

此时,可能会提示同意 Android Emulator 的许可协议。请通读该协议并选择 接受 以继续此流程。这将下载仿真器图像并完成仿真器的创建,以便在 Visual Studio 中使用。
创建仿真程序后,将会看到一个按钮,显示“开始”。单击此按钮。

你可能会收到启用 Windows 虚拟机监控程序平台的提示。请按照文档启用此功能以获得最佳性能。

Android 仿真器将启动。等待它完全启动后,你将看到它会显示在 Visual Studio 调试菜单中。如果不使用硬件加速,这个过程可能需要一些时间。

你的 Android 仿真器现已创建并可供使用。下次运行 Visual Studio 时,仿真器将直接显示在调试目标窗口中,并在选择它时启动。如果遇到任何问题或模拟器存在性能问题,请阅读 完整安装文档。
设置 iOS 设备
在本教程中,我们将重点讲解如何设置和部署到 Android。要将应用程序部署到 iOS,需要配置 适用于 Windows 的远程 iOS 模拟器或使用 热重启 配置设备以进行部署。
如果没有能够部署 .NET 的设备,则需要设置 Android 仿真程序或使用设备。如果已执行此操作或仅希望部署到 iOS,则可以跳过此步骤。
如果这是你第一次构建 Xamarin 应用程序,则需要创建新的 Android 仿真器。你将在调试菜单中看到“选择设备”。请选择“运行”按钮以启动创建过程。

现在系统会提示确认是否要创建仿真器。选择“添加虚拟设备”:

这将打开 Android 设备管理器。选择“+ 新设备”开始创建过程。

系统会自动为基本模拟器填充选项。如果需要,请更改任意选项,然后选择“ 创建”。

此时,系统可能会提示你同意 Android Emulator 的许可协议。请阅读并选择“接受”以继续此流程。此操作会下载仿真程序映像并完成创建,以便在 Visual Studio 中使用仿真程序。

创建仿真器后,你将看到显示 启动 的按钮。点击该按钮后,Android 仿真器将启动。请等待其完全启动,其将显示在 Visual Studio 调试菜单中。如果不使用硬件加速,则这可能需要一些时间。

你的 Android 仿真器现已创建并可供使用。下次运行 Visual Studio 时,仿真器将直接显示在调试目标窗口中,并在选择它时启动。如果遇到任何问题或模拟器存在性能问题,请阅读 完整安装文档。
现在应该配置仿真程序或设备,以进行部署!
运行应用
在菜单中选择“调试 > 启动调试”。 如果禁用此选项,请确保已选择模拟器。
应用程序将生成,之后会部署到 Android 设备/仿真器并运行。

在菜单中选择“运行 > 启动调试”。 如果禁用此选项,请确保已选择模拟器。
应用程序将生成,之后会部署到 Android 设备/仿真器并运行。

可选: 在 iOS 上运行
右键单击“AwesomeApp”项目,然后选择“设置为启动项目”。

启动应用程序
在菜单中选择“运行 > 启动调试”。 如果禁用此选项,请确保已选择模拟器。
应用程序将生成并部署到 iOS 模拟器并运行。

恭喜,你已生成并运行首个 .NET 移动应用!
编辑代码
当使用 Xamarin.Forms 开发应用程序时,在调试应用程序时可使用 XAML 热重载。这意味着可以在应用程序运行时更改 XAML 用户界面(UI),并且 UI 将自动更新。
在 解决方案资源管理器 中,双击 AwesomeApp
项目下的“MainPage.xaml
”文件。
当前,Frame
的 BackgroundColor
设置为 Xamarin 蓝色,如第 7 行中的以下代码所示:
MainPage.xaml
<Frame BackgroundColor="#2196F3" Padding="24" CornerRadius="0" >
让我们将背景色更新为 DeepPink
或随意选择 最喜爱的颜色。
MainPage.xaml
<Frame BackgroundColor="DeepPink" Padding="24" CornerRadius="0" >
如果在 MainPage.xaml
中没有看到 Frame
元素,则可能使用的是旧版本的 Visual Studio。如果是这种情况,只需将以下代码粘贴到 StackLayout
中:
MainPage.xaml
<Frame BackgroundColor="DeepPink" Padding="24" CornerRadius="0">
<Label Text="Welcome to Xamarin.Forms!" HorizontalTextAlignment="Center" TextColor="White" FontSize="36"/>
</Frame>
选择“文件 > 保存”或选择 CTRL+S,UI 将会进行更新。

选择“文件 > 保存”或选择 CMD+S,UI 将会进行更新。

现在你将向用户界面添加一个按钮,以及一个单击事件,该事件将增加并显示计数。
添加按钮
现在,在 MainPage.xaml
上的 </Frame>
结束标记下添加以下代码:
MainPage.xaml
<Button Text="Click Me" />
MainPage.xaml
中 ContentPage
内的代码应如下所示:
MainPage.xaml
<StackLayout>
<Frame BackgroundColor="DeepPink" Padding="24" CornerRadius="0">
<Label Text="Welcome to Xamarin.Forms!" HorizontalTextAlignment="Center" TextColor="White" FontSize="36"/>
</Frame>
<!--Add Button Here -->
<Button Text="Click Me" />
<Label Text="Start developing now" FontSize="Title" Padding="30,10,30,10" />
<!--More Labels here -->
</StackLayout>
选择“文件 > 保存”,或选择 CTRL+S,UI 将通过按钮进行更新。
MainPage.xaml
<StackLayout>
<Frame BackgroundColor="DeepPink" Padding="24" CornerRadius="0">
<Label Text="Welcome to Xamarin.Forms!" HorizontalTextAlignment="Center" TextColor="White" FontSize="36"/>
</Frame>
<!--Add Button Here -->
<Button Text="Click Me" />
<Label Text="Start developing now" FontSize="Large" Padding="30,10,30,10" />
<!--More Labels here -->
</StackLayout>
选择 文件 > 保存,或选择 CMD+S,UI 将通过按钮进行更新。
停止调试
如需更改非 UI 逻辑,你需要停止调试。从菜单选择“调试 > 停止调试。
要更改非 UI 逻辑,你需要停止调试。从菜单中选择“运行”>“停止调试”。
添加事件处理程序
使用名为 Handle_Clicked
的 Clicked
事件更新 MainPage.xaml
中的 Button
:
MainPage.xaml
<Button Text="Click Me" Clicked="Handle_Clicked" />
打开 MainPage.xaml.cs
(此文件嵌套在 MainPage.xaml 下,或者可以右键单击并从菜单中选择“View Code”)

将以下代码添加到构造函数下的类中:
MainPage.xaml.cs
int count = 0;
void Handle_Clicked(object sender, System.EventArgs e)
{
count++;
((Button)sender).Text = $"You clicked {count} times.";
}
添加了前面的代码后,MainPage.xaml.cs
中命名空间内的代码应如下所示:
MainPage.xaml.cs
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
int count = 0;
void Handle_Clicked(object sender, System.EventArgs e)
{
count++;
((Button)sender).Text = $"You clicked {count} times.";
}
}
运行应用程序
应用启动时,单击该按钮。点击次数将显示在主标签中。