【问题标题】:Project can't find my EF connection string in C# Interactive项目在 C# Interactive 中找不到我的 EF 连接字符串
【发布时间】:2019-03-22 23:04:17
【问题描述】:

我有几个项目:DAL、业务层、域模型、客户端和其他几个。客户端项目设置为启动项目,并在其 app.config 中定义了连接字符串。当我使用我的项目初​​始化 C# 交互式窗口时,它似乎正确初始化。有很长的#r 引用列表,我会得到提示。当我尝试在其构造函数中实例化一个必须从数据库读取的对象时,我得到“在应用程序配置文件中找不到名为“实体”的连接字符串。”

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

我还看到有人建议创建一个部分类来初始化 DBContext 的实例的帖子,但我没有直接在交互式窗口中与 DBContext 交互,所以我不确定这是否会有所帮助。

C# 交互窗口是否有单独的 app.config 或指定使用哪个 app.config 的方法?我读过的大多数谈论这个的帖子似乎都没有一个可行的解决方案,但它们也已经过时了。我希望有一个我找不到的解决方案。

【问题讨论】:

  • C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\bin\Roslyn\csi.exe.config
  • 感谢@PauloMorgado,但将连接字符串添加到该文件似乎没有帮助。关于缺少连接字符串的相同消息。

标签: entity-framework c#-interactive


【解决方案1】:

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

Print(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);

我找到了这条路:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-06
    • 2011-05-24
    • 1970-01-01
    • 2020-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多