我有几个项目:DAL,业务层,域模型,客户端和其他几个。客户端项目被设置为启动项目,并在其app.config中定义了连接字符串。当我使用项目初始化C#Interactive窗口时,它似乎已正确初始化。 #r参考的列表很长,我被提示。当我尝试实例化必须在其构造函数中从数据库读取的对象时,出现“在应用程序配置文件中找不到名为“ Entities”的连接字符串”。
使用C#交互式时使用哪个app.config?我看到过一些帖子,说启动项目必须是app.config中带有连接字符串的项目。就是这样设置的,但是不起作用。
我还看到了一个帖子,有人建议创建一个局部类来初始化DBContext的实例,但是我没有在交互窗口中直接与DBContext进行交互,因此我不确定这会有所帮助。 / p>
是否为C#Interactive窗口提供了单独的app.config,或者指定了要使用哪个app.config的方法?我读过的大多数关于此的文章似乎都没有有效的解决方案,但它们也已经过时了。我希望有一个我找不到的解决方案。
答案 0 :(得分:0)
通过在交互式窗口本身中查询哪个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开始按预期运行。当然,您仍然必须从项目中初始化交互式窗口。只记得完成后清理一下自己。