我有以下连接字符串来连接到数据集市服务器。
@"Server=datamartservername; Authentication=Active Directory Interactive; Encrypt=True; Database=dbname";
当我在 Visual Studio 中运行该应用程序时,它工作正常。我收到弹出窗口以按预期进行身份验证。
但是,当我构建安装程序并将其发布给其他用户时。应用程序崩溃而不是打开弹出窗口进行身份验证。
会出现什么问题?
您的应用程序需要有一个身份才能访问 Azure 服务。此凭据(应用程序注册/服务主体)可以通过多种不同方式提供给应用程序,例如通过环境变量(AZURE_CLIENT_ID、AZURE_CLIENT_SECRET、AZURE_TENANT_ID)。
请查看 DefaultAzureCredential 类 https://learn.microsoft.com/en-us/dotnet/api/azure.identity.defaultazurecredential?view=azure-dotnet