Fix/MFA authentication#298
Conversation
erikdarlingdata
left a comment
There was a problem hiding this comment.
LGTM. Diagnosis matches the SqlClient 7.0.0 release notes — Entra/Azure auth was extracted into Microsoft.Data.SqlClient.Extensions.Azure, and adding the package reference is the documented migration. Confirmed the package on NuGet (Microsoft-published, 1.0.0, released 2026-03-17).
Removing the 80-char truncation is a quiet bonus fix — that line was hiding the actionable part of the new error messages, since SqlClient 7.0.0 specifically rewrote them to tell users which package to install. Pre-fix, the message was being chopped to Cannot find an authentication provider for 'ActiveDirectory...', which is exactly what burned the reporter.
The companion XAML change (horizontal → vertical, TextWrapping="Wrap", button HorizontalAlignment="Left") is the right shape for now-untruncated multi-line errors.
One tradeoff worth naming, not a blocker: this re-introduces Azure.Identity / Azure.Core / MSAL transitively for every user of PlanViewer.Core, even ones who only connect to on-prem SQL with Windows auth — exactly the footprint SqlClient 7.0.0 was designed to make optional. The alternative (an opt-in PlanViewer.Core.Azure package) is over-engineering for this tool. Accept the cost.
Two non-blocking nits:
Spacingdropped 6 → 8 in the test-status row would better match the rhythm of the other rows in the dialog (Margin="0,0,0,12",Spacing="16").- "Core Library (PlanViewer.Core)" component checkbox in the PR description should also be ticked since
PlanViewer.Core.csprojis where the dep landed. Cosmetic.
Neither is worth holding the PR for.
Match the visual rhythm of the surrounding rows in the dialog (Margin 0,0,0,12 / inter-control Spacing 16). Follow-up nit from review of erikdarlingdata#298. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
What does this PR do?
Fixes #297
🤖 says:
Which component(s) does this affect?
How was this tested?
Tested to connect and succeeded

Checklist
dotnet build -c Debug)dotnet test)