项目在 C# Interactive 中找不到我的 EF 连接字符串

Project can't find my EF connection string in C# Interactive

我有几个项目:DAL、业务层、域模型、客户端和其他几个项目。客户端项目设置为启动项目,并在其 app.config 中定义了连接字符串。当我用我的项目初​​始化 C# Interactive window 时,它似乎初始化正确。有一长串#r 参考文献,我被提示留下了。当我尝试实例化一个必须在其构造函数中从数据库中读取的对象时,我得到 "No connection string named "Entities" could be found in the application config file."

使用C#交互的时候用的是哪个app.config?我看到 post 说启动项目必须是具有 app.config 中的连接字符串的项目。这就是它的设置方式,但它不起作用。

我还看到 post 有人建议创建一个部分 class 来初始化 DBContext 的实例,但我没有直接与 DBContext 交互,在交互 window,所以我不确定这是否有帮助。

C# Interactive window 是否有单独的 app.config 或指定要使用哪个 app.config 的方法?我读过的大多数 post 似乎都没有有效的解决方案,但它们也已经过时了。我希望有一个我找不到的解决方案。

通过查询哪个 app.config 在交互式 window 中处于活动状态,本身:

Print(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);

我找到了这个路径:

"C:\Program Files (x86)\Microsoft Visual Studio17\Enterprise\Common7\IDE\CommonExtensions\Microsoft\ManagedLanguages\VBCSharp\InteractiveComponents\InteractiveHost32.exe.config"

将我的连接字符串添加到该配置文件有效。之后,EF 开始正常运行,正如预期的那样。当然,您仍然需要从项目中初始化交互式 window。记得在完成后自己清理一下。