Visual studio 2010 使用数据集向导添加数据集时,如何参考app.config以获取连接字符串?

Visual studio 2010 使用数据集向导添加数据集时,如何参考app.config以获取连接字符串?,visual-studio-2010,dataset,connection-string,app-config,class-library,Visual Studio 2010,Dataset,Connection String,App Config,Class Library,每当我使用向导在类库项目中添加数据集时,它都会为我提供一个将连接字符串保存在app.config文件中的选项,选择该选项后,它会将字符串保存在文件中,但当我选中数据集设计器时,它总是将其保存在项目属性对象中: private void InitConnection() { this._connection = new global::System.Data.SqlClient.SqlConnection(); this._connection.Co

每当我使用向导在类库项目中添加数据集时,它都会为我提供一个将连接字符串保存在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项目数据集中,不要生成设计器类


是否还有其他方法可以执行desire操作?

属性类型是对应用程序和用户特定设置的包装,如前所述

似乎您正试图从库程序集(.dll)获取配置设置,而不是从引用库的应用程序/站点获取配置设置。我猜测这是基于您正在使用此属性的事实:

global::BaseClassLibrary.Properties.Settings.Default.DBConnectionString;
在引用的程序集需要运行应用程序/站点I的配置设置的情况下,通常:

  • 在核心库中创建AppNameApplication静态类型(即,具有很少或没有其他自定义依赖项的程序集)
  • 为整个配置(如果使用自定义ConfigurationSection)或所需的每个设置创建属性
  • 在应用程序开始时初始化此静态类(main或Global.Applicaton\u start)
  • 从库程序集类型中引用AppNameApplication以访问这些配置设置
  • 请注意,此静态类型需要在一个核心库中定义,因为不能有循环引用:App-Library-App

    希望这有帮助