为什么我在 localdb 上的 EF 测试在 "run" 而不是 "debug" 上工作?

Why do my EF tests on localdb work on "run" but not "debug"?

今天我发现我无法再调试涉及 EF Core 的测试。每个这样的测试 运行s 使用 LocalDB,并从调用调用此代码的函数开始:

db.Database.EnsureDeleted();
db.Database.EnsureCreated();

在我继续之前,这是我的连接字符串:@"Server=(localdb)\MSSQLLocalDB;Integrated Security=true;Database=TESTING"

这一直服务于为每个测试准备一个名为 TESTING 的新数据库的目的。但是现在,我收到以下错误:Cannot open database "TESTING" requested by the login. The login failed. Login failed for user 'xx\yy'.

好的。这让我想到了 ,我在过去解决不同问题时实际上提到过它。不过这一次,没有任何变化。

我尝试推送我的代码并 运行在 Azure Pipelines 中进行测试。有效。我在本地 运行 尝试了所有测试。它也起作用了。我尝试 运行 通过使用“运行”按钮而不是 Visual Studio 中的“调试”按钮来进行单个单独测试。令人费解的是,这也 有效。 我回滚到以前版本的提交,我知道它曾经在某个时刻工作,并且行为与现在相同。

那么……有什么想法吗??似乎它与我的代码无关,可能是 Visual Studio 或 LocalDB 问题,但我不确定从哪里开始。

LocalDB 2019 和 Visual Studio 2022 顺便说一句。

我最终修复了我的 VS 安装(我相信这包括使用数据工作负载重新安装 LocalDB?),现在一切似乎都在正常工作。仍然不确定发生了什么,但我很高兴它起作用了。