Aspire 包括有助于创建和配置云原生应用的工具。 该工具包括有用的初学者项目模板和其他功能,可以简化 Aspire 在 Visual Studio、Visual Studio Code和 CLI 工作流中的应用入门。 在前面的部分中,你将了解如何使用 Aspire 工具并浏览以下任务:
- 安装 Aspire 及其依赖项
- 使用 Visual Studio、Visual Studio Code或 .NET CLI 创建初学者项目模板
- 安装 Aspire 集成
- 使用 Aspire 仪表板
安装 Aspire 先决条件
若要使用 Aspire,需要在本地安装以下各项:
-
.NET 8.0 或 .NET 9.0。
- 从 Aspire 9.4 开始,支持 .NET 10 Preview 5 或更高版本。
- 符合 OCI 标准的容器运行时,例如:
- 集成开发人员环境(IDE)或代码编辑器,例如:
- Visual Studio 2022 17.9 或更高版本(可选)
-
Visual Studio Code (可选)
- C# Dev Kit:扩展(可选)
- JetBrains Rider 与 Aspire 插件 (可选)
Visual Studio 安装 Web 和云工作负载时,2022 17.9 或更高版本默认包含最新的 Aspire SDK 。
Aspire 模板
Aspire 提供一组解决方案和项目模板。 这些模板可在你最喜欢的 .NET 开发人员集成环境中使用。 可以使用这些模板创建完整的 Aspire 解决方案,或将单个项目添加到现有 Aspire 解决方案。
安装Aspire模板
若要在 Aspire中安装 Visual Studio 模板,需要手动安装模板,除非使用的是 Visual Studio 17.12 或更高版本。 对于 Visual Studio 17.9 到 17.11,请执行以下步骤:
- 打开 Visual Studio。
- 转到 工具>NuGet 包管理器>包管理器控制台。
- 运行以下命令以安装模板:
dotnet new install Aspire.ProjectTemplates
对于 Visual Studio 17.12 或更高版本,会自动安装 Aspire 模板。
若要安装这些模板,请使用 dotnet new install 命令,传入 Aspire.ProjectTemplates NuGet 标识符。
dotnet new install Aspire.ProjectTemplates
若要安装特定版本,请将版本号追加到包名称:
dotnet new install Aspire.ProjectTemplates::9.4.0
列出Aspire模板
安装 Aspire 17.9 或更高版本时,会自动安装 Visual Studio 模板。 若要查看可用的Aspire模板,请选择“>>Visual Studio”,然后在搜索栏中搜索“”Aspire(Alt+S)。 可以看到可用 Aspire 项目模板的列表:
若要查看已安装 C# DevKit 的 Visual Studio Code 中的可用模板,请在 .NET 视图中未打开文件夹时,选择“创建 项目”按钮。
然后,在搜索栏中搜索“Aspire”以查看可用的 Aspire 项目模板:
若要验证 Aspire 是否已安装模板,请使用 dotnet new list 命令,传入 aspire 模板名称:
dotnet new list aspire
控制台输出应如下所示:
dotnet new list aspire
These templates matched your input: 'aspire'
Template Name Short Name Language Tags
--------------------------------- ---------------------- -------- -------------------------------------------------------
Aspire AppHost aspire-apphost [C#] Common/Aspire/Cloud
Aspire Empty App aspire [C#] Common/Aspire/Cloud/Web/Web API/API/Service
Aspire Service Defaults aspire-servicedefaults [C#] Common/Aspire/Cloud/Web/Web API/API/Service
Aspire Starter App aspire-starter [C#] Common/Aspire/Blazor/Web/Web API/API/Service/Cloud
Aspire Test Project (MSTest) aspire-mstest [C#] Common/Aspire/Cloud/Web/Web API/API/Service/Test
Aspire Test Project (NUnit) aspire-nunit [C#] Common/Aspire/Cloud/Web/Web API/API/Service/Test
Aspire Test Project (xUnit) aspire-xunit [C#] Common/Aspire/Cloud/Web/Web API/API/Service/Test
有关详细信息,请参阅 Aspire 模板。
容器运行时
Aspire 可以使用多个兼容 OCI 的运行时运行容器,包括 Docker 桌面和 Podman。 虽然某些用户报告了使用 Rancher Desktop 的成功(尤其是在配置为使用 Docker CLI 时),但这不是正式支持或定期测试的方案。 可以将 Rancher Desktop 与默认安装配合使用,但这不是正式支持或已验证的方法。 如果遇到 Rancher Desktop 问题,请告知我们,但请注意,修复可能不是优先级的。
- Docker 桌面 是开发人员中 Aspire 最受欢迎的容器运行时,提供一个熟悉且广受支持的环境来生成和运行容器。
- Podman 是开源的、无守护进程的 Docker 替代方案。 它支持构建和运行开放容器计划(OCI)容器,使其成为首选轻型解决方案的开发人员的灵活选择。
如果主机环境已安装Docker和Podman,则Aspire默认使用Docker。 可以通过将 Aspire 环境变量设置为 Podman来指示 ASPIRE_CONTAINER_RUNTIME 改用 podman:
WSL (适用于 Windows 子系统的 Linux)注意事项
与 WSL 一 Podman 起使用时,请确保 podman 可执行文件在你的中 PATH 可用,而不仅仅是定义为 shell 别名。
Aspire 通过在系统 PATH 中搜索可执行文件来解析容器运行时,在此过程中无法识别 shell 别名。
常见问题和解决方案:
Podman 安装在单独的 WSL 分发版中:如果 Podman 安装在与应用程序 Aspire 不同的 WSL 分发中,则
podman当前分发版的 PATH 中可能无法使用该命令。解决方案:直接在运行应用程序的 Podman WSL 分发中安装Aspire,或在 PATH 中的目录中创建可执行文件的符号链接Podman(例如
/usr/local/bin)。使用 shell 别名:如果你的
alias podman='podman-remote-static-linux_amd64'文件或类似文件中有像~/.bash_aliases这样的 shell 别名,Aspire 将无法找到容器运行时。解决方案:不要使用别名,而是创建符号链接或将包含可执行文件的 Podman 目录添加到 PATH:
# Option 1: Create a symbolic link sudo ln -s /path/to/podman-remote-static-linux_amd64 /usr/local/bin/podman # Option 2: Add to PATH in your shell profile echo 'export PATH="/path/to/podman/directory:$PATH"' >> ~/.bashrc source ~/.bashrc
验证设置:可以通过运行以下方法验证是否正确 Podman 配置:
which podman
podman --version
在运行 Aspire 应用程序之前,这两个命令都应成功并返回有效结果。
Tip
如果在 WSL 环境中遇到问题 Podman ,请参阅 WSL 中找不到容器运行时“podman” 以获取特定的故障排除指南。
Aspire 仪表盘
Aspire 公开 AppHost 项目的模板还包括一个有用的开发人员 仪表板 ,用于监视和检查应用的各个方面,例如日志、跟踪和环境配置。 此仪表板旨在改进本地开发体验,并概述应用的整体状态和结构。
仪表板 Aspire 仅在应用运行时可见,并且当您启动 *.AppHost 项目时,它会自动启动。 Visual Studio 和 Visual Studio Code 会在浏览器中自动为您启动您的应用和 Aspire 仪表板。 如果使用 .NET CLI 启动应用,请将输出中的仪表板 URL 复制并粘贴到浏览器中,或按住 Ctrl 并选择链接(如果终端支持超链接)。
左侧导航提供了指向仪表板不同部分的链接,并且每个部分将在以下部分中查看。
仪表板 Aspire 也可以在独立模式下使用。 有关详细信息,请参阅 独立 Aspire 仪表板。
Visual Studio 模具
Visual Studio 提供额外功能,用于处理 Aspire 集成和 AppHost Orchestrator 项目。 并非所有这些功能目前在 Visual Studio Code 或通过 CLI 提供。
添加集成包
你可以使用 Aspire将 Visual Studio 集成添加到你的应用程序中,就像添加其他 NuGet 包一样。 但是,Visual Studio 还提供用于直接添加 Aspire 集成的 UI 选项。
在 Visual Studio中,右键单击要向其添加 Aspire 集成的项目,然后选择 “添加>Aspire 包...”。
包管理器随即打开,其中包含预配置(填充筛选器条件)的 Aspire 集成搜索结果,使你能够轻松浏览并选择所需的集成。
有关集成的详细信息 Aspire ,请参阅 Aspire 集成概述。
添加托管包
Aspire 托管包用于配置应用可能依赖或使用的各种资源和依赖项。 托管包不同于其他集成包,因为它们已添加到 *.AppHost 项目中。 若要将托管包添加到应用,请执行以下步骤:
添加编排项目
可以使用以下步骤将 Aspire 编排项目添加到现有应用:
在 Visual Studio中,右键单击现有项目,然后选择 “添加”>Aspire编排器支持”。。
此时会打开一个对话框窗口,其中包含添加到您解决方案中的 *.AppHost 和 *.ServiceDefaults 项目的摘要。
选择 确定 并应用以下更改:
- *.AppHost 和 *.ServiceDefaults 业务流程项目已添加到解决方案中。
- 对
builder.AddServiceDefaults的调用将添加到原始项目的 Program.cs 文件中。 - 对原始项目的引用将被添加到 AppHost.cs 文件的 *.AppHost 项目中。
有关编排的详细信息,请参阅 Aspire。
加入编排
Visual Studio 提供了在新项目工作流期间 加入 Aspire 管理编排 的选项。 选择此选项可以 Visual Studio 创建 *.AppHost 和 *.ServiceDefaults 项目,与所选项目模板一起。
创建测试项目
使用Visual Studio时,选择“Aspire启动应用程序”模板时,可以选择包含测试项目。 此测试项目是一个 xUnit 项目,其中包含一个示例测试,可用于测试的起点。
有关详细信息,请参阅 编写第一个 Aspire 测试。
Visual Studio Code 模具
可以使用Visual Studio Code和C# Dev Kit扩展来创建和开发Aspire项目。 若要在其中Aspire创建新Visual Studio Code项目,请在.NET视图中选择“创建项目”按钮,然后选择其中一个Aspire模板:
创建新的 Aspire 项目后,您可以运行并调试应用程序,逐步执行断点,并使用 Visual Studio Code 调试器检查变量。
Aspire CLI(命令行界面)
Aspire CLI(aspire命令)是一种跨平台工具,提供命令行功能来创建、管理、运行和发布 polyglot Aspire 项目。
Aspire使用 CLI 简化开发工作流并协调分布式应用程序的服务。
有关详细信息,请参阅 Aspire CLI 概述 和 安装 Aspire CLI。