我有一个由两个类库和一个Windows应用程序组成的项目解决方案。 这两个库分为Custom_Classes和Custom_Controls。
我的Custom_Classes库我有一个实体模型,从我的Custom_Controls库中引用以访问某些数据成员。连接工作正常,当我向Windows窗体添加控件时,它没有任何问题。但是,当我想在另一个中添加一个自定义控件时,将其从工具箱中拖出,将显示以下消息。
无法创建组件'u_Settings'。错误消息如下:'在应用程序配置文件中找不到名为'MyEntitiesCon'的连接字符串。'
我已确保连接字符串位于app.config文件中,甚至尝试将其添加到项目设置文件中。这是我从Custom_Classes项目复制到Custom_Controls项目的连接字符串
<connectionStrings>
<add name="MyEntitiesCon" connectionString="metadata=res://*/Enity_Framework.SP_Model.csdl|res://*/Enity_Framework.SP_Model.ssdl|res://*/Enity_Framework.SP_Model.msl;provider=System.Data.SqlClient;provider connection string="data source=XXX\XXX;initial catalog=XXX;integrated security=True;connect timeout=30;connectretrycount=2;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
我尝试了一系列解决方案但没有成功
答案 0 :(得分:1)
首先,这似乎是一个糟糕的设计,制动SOLID
原则。
您应该依赖于抽象的DataSource接口。数据源实现应该与控件分开。
MSDN也有很好的指导方针:
http://msdn.microsoft.com/en-us/library/ms171926.aspx
PS。打开EF设计器并尝试更新模型。保存连接字符串并将其复制到设计控件的项目中。
答案 1 :(得分:1)
您是否尝试将连接字符串添加到Windows应用程序项目中的app.config?
答案 2 :(得分:0)
如果设计人员的初始化需要连接字符串,那么您需要将连接字符串放到使用您的控件库的每个新项目的配置中。顺便说一下,如果从设计器初始化中删除连接字符串,则只需将其放在目标的配置文件中。