eShop参考应用 - "AdventureWorks"
一个使用基于服务的架构实现电子商务网站的.NET参考应用,采用.NET Aspire。
入门指南
先决条件
使用Visual Studio的Windows环境
- 安装Visual Studio 2022版本17.10或更新版本。
- 选择以下工作负载:
ASP.NET和Web开发
工作负载。个别组件
中的.NET Aspire SDK
组件。- 可选:
.NET多平台应用UI开发
,用于运行客户端应用
- 选择以下工作负载:
或者
- 在以
管理员
身份运行的Powershell和终端中执行以下命令,自动配置您的环境,安装构建和运行此应用所需的工具。(注意:需要重启,脚本中已包含重启步骤。)
install-Module -Name Microsoft.WinGet.Configuration -AllowPrerelease -AcceptLicense -Force
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
get-WinGetConfiguration -file .\.configurations\vside.dsc.yaml | Invoke-WinGetConfiguration -AcceptConfigurationAgreements
或者
- 从Dev Home进入
机器配置 -> 克隆仓库
。输入此仓库的URL。在确认界面中,查找检测到配置文件
部分,并点击运行文件
。
Mac、Linux和不使用Visual Studio的Windows环境
- 安装最新的.NET 8 SDK
- 使用以下命令安装.NET Aspire工作负载:
dotnet workload update
dotnet workload install aspire
dotnet restore eShop.Web.slnf
或者
- 在以
管理员
身份运行的Powershell和终端中执行以下命令,自动配置您的环境,安装构建和运行此应用所需的工具。(注意:运行脚本后需要重启。)
安装Visual Studio Code和相关扩展
install-Module -Name Microsoft.WinGet.Configuration -AllowPrerelease -AcceptLicense -Force
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
get-WinGetConfiguration -file .\.configurations\vscode.dsc.yaml | Invoke-WinGetConfiguration -AcceptConfigurationAgreements
注意:这些命令可能需要
sudo
权限
- 可选:安装带C# Dev Kit的Visual Studio Code
- 可选:安装.NET MAUI工作负载
注意:在使用Apple Silicon(M系列处理器)的Mac上运行时,需要为grpc-tools安装Rosetta 2。
运行解决方案
[!警告] 请确保Docker已启动
- (仅限Windows)从Visual Studio运行应用程序:
- 在Visual Studio中打开
eShop.Web.slnf
文件 - 确保
eShop.AppHost.csproj
是您的启动项目 - 按Ctrl-F5启动Aspire
- 或者从终端运行应用程序:
dotnet run --project src/eShop.AppHost/eShop.AppHost.csproj
然后在控制台输出中查找类似以下的行,以找到打开Aspire仪表板的URL:
登录仪表板:http://localhost:19888/login?t=uniquelogincodeforyou
您可能需要先安装ASP.NET Core HTTPS开发证书,然后关闭所有浏览器标签页。了解更多信息,请访问https://aka.ms/aspnet/https-trust-dev-cert
Azure Open AI
使用Azure OpenAI时,在eShop.AppHost/appsettings.json中添加以下部分:
"ConnectionStrings": {
"OpenAi": "Endpoint=xxx;Key=xxx;"
}
用您自己的值替换这些值。然后,在eShop.AppHost的Program.cs中,将此值设置为true
bool useOpenAI = false;
这里有关于.NET Aspire OpenAI组件的额外指导。
使用Azure Developer CLI
您可以使用Azure Developer CLI仅需几个命令即可在Azure上运行此项目。按照以下说明操作:
- 安装最新版本或更新到最新版本的Azure Developer CLI (azd)。
- 如果之前没有登录过,请登录
azd
到您的Azure账户:
azd auth login
- 从仓库根目录初始化
azd
。
azd init
-
初始化过程中:
- 选择
使用当前目录中的代码
。Azd将自动检测.NET Aspire项目。 - 确认
.NET (Aspire)
并继续。 - 选择要暴露给互联网的服务(暴露
webapp
足以测试示例)。 - 通过为您的环境命名来完成初始化。
- 选择
-
创建Azure资源并部署示例,运行:
azd up
注意:
- 首次为环境运行此操作时,需要几分钟时间。
- 过程结束时,
azd
将显示webapp的url
。点击该链接测试示例。 - 修改示例后保存更改,可以运行
azd up
重新部署和更新示例。 - 如有任何问题,请向azure-dev仓库报告。
- azd的常见问题解答和故障排除。
贡献
示例数据
示例目录数据定义在catalog.json中。这些产品名称、描述和品牌名称是虚构的,使用GPT-35-Turbo生成,相应的产品图片则使用DALL·E 3生成。
Azure上的eShop
如需查看此应用的Azure部署配置版本,请访问Azure上的eShop仓库。