我有一个可执行的项目,我创建了一个dll,其中包括项目中常用的数据集(DLLforApp和App)。
[DLLforApp]
[应用]
现在,如果我编译这个项目,那么预期的输出将是......
App.exe
DLLforApp.dll
App.exe.config
...
我可以在App.exe.config中更改App.exe的连接字符串,但是如何更改DLLforApp.dll的连接字符串? 在App中更改连接字符串不会影响DLLforApp的连接字符串..
所以,我现在正在做的是......
在DataSet设计器中,选择TableAdapter部分,并将属性ConnectionModifier从Internal更改为Public。
在使用DLLforApp.datasets的表单中:
public Form1()
{
InitializeComponent();
customersTableAdapter1.Connection = new SqlConnection(WindowsFormsApplication1.Properties.Settings.Default.MyConnection);
}
这将每次重置每个tableadapter的连接.. 这是唯一的方法吗?
谢谢,
答案 0 :(得分:2)
答案 1 :(得分:0)
您需要为dll的配置添加一个部分,因此请在您的应用程序.config
文件中添加。因此,在<configSections> ... </configSections>
部分(将为您提供主要应用程序)中添加以下内容:
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="MyNameSpace.MyDll.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
</sectionGroup>
然后,由于您已将该组命名为“applicationSettings”,因此您需要在<configuration> ... </configuration>
下添加
<applicationSettings>
<MyNameSpace.MyDll.Properties.Settings>
<setting name="ConnectionString" serializeAs="String">
<value>My connectionString</value>
</setting>
</MyNameSpace.MyDll.Properties.Settings>
</applicationSettings>
这应该给你一个良好的开端,我为一个需要特殊配置的DAL DLL做了同样的事情 - 这是我从中复制过的。