缺少连接字符串

在 .NET.NET Aspire中,代码使用任意字符串(如“database”)标识资源。 在其他位置使用资源的代码必须使用同一字符串,否则将无法正确配置其关系。

症状

当您的应用访问需要其中一个集成的服务时,可能会发生类似如下所示的异常:

“InvalidOperationException:ConnectionString 缺失。”

可能的解决方案

验证资源的名称(例如数据库资源)在 AppHost 和失败的服务中是否相同。

例如,如果 AppHost 定义了名称为 db1 的 PostgreSQL 资源,如下所示:

var db1 = builder.AddPostgres("pg1").AddDatabase("db1");

然后,服务需要解析同名 db1的资源。

var builder = WebApplication.CreateBuilder(args);

builder.AddNpgsqlDbContext<MyDb1Context>("db1");

AppHost 中提供的任何其他值都将导致上述异常消息。