我创建了一个启动基于窗体的GUI的AddIn。 AddIn和Gui在不同的项目中。 Gui连接到一个数据库并利用EF作为ORM。Visual Studio 2010添加使用实体框架
当我从VS启动Gui项目时,它效果很好。当我将该Gui发布到vs加载项文件夹并运行它时,它工作正常。当我从VS的加载项启动Gui时,它加载正常,但任何试图击中数据库的内容都会失败。 EF抱怨元数据文件。
例外:指定的命名 连接或者未在 配置中找到,而不是旨在用于 与EntityClient提供者,或不 有效。
在System.Data.EntityClient.EntityConnection.ChangeConnectionString()
这里是的app.config配置
<connectionStrings>
<add name="companyEntities" connectionString="metadata=res://*/;provider=System.Data.SqlClient;provider connection string="Data Source=TESTDB;Initial Catalog=company;Persist Security Info=True;User ID=id;Password=password;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient"/>
</connectionStrings>
我能想到的唯一的事情是,“RES: // * /“部分映射不同,当启动程序集不同时,但我尝试使用绝对路径到csdl/msl/ssdl文件没有任何成功。
从打开配置的加载项启动Gui有什么不同?
更新:如果我将connectionString信息添加到devenv.exe.config文件中,那么Gui应用程序可以工作。所以问题是:配置AddIn/Gui项目的正确方法是什么,以便Gui不必知道它是如何启动的(直接或者作为AddIn) – soslo 2011-02-09 16:36:44