缺少连接字符串
在 .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 中提供的任何其他值都将导致上述异常消息。