每当我使用向导在我的类库项目中添加数据集时,它为我提供了一个选项,可以将连接字符串保存在app.config文件中,选择该选项后,它会将字符串保存在文件中,但是当我检查数据集设计器时始终将其保存在项目属性对象中:
private void InitConnection() {
this._connection = new global::System.Data.SqlClient.SqlConnection();
this._connection.ConnectionString = global::BaseClassLibrary.Properties.Settings.Default.DBConnectionString;
}
这不是那么有用,因为当我尝试使用这个项目dll并通过在web.config或app.config中写入来覆盖连接字符串时...它没有引用它......
并且有一个有趣的事实是,如果您按照web项目中使用向导添加数据集的相同过程,那么它实际上会引用web.config以获取连接字符串...这有点奇怪......并且在Web项目数据集中t生成设计师类......
无论如何我能做出欲望行动吗?
答案 0 :(得分:1)
属性类型是应用程序和用户特定设置的包装,如here所述。
您似乎正在尝试从库程序集(.dll)获取配置设置,而不是从引用库的应用程序/站点获取配置设置。我猜这是基于你使用这个属性的事实:
global::BaseClassLibrary.Properties.Settings.Default.DBConnectionString;
在引用的程序集需要来自正在运行的应用程序/站点的配置设置的情况下,我通常会这样做:
请注意,此静态类型需要在您的某个核心库中定义,因为您无法使用循环引用:App - Library - App。
希望这有帮助。