我正在尝试将所有数据库代码抽象到一个单独的库中,然后在我的所有代码中使用该库。所有的数据库连接都是使用类型化的 TableAdapter 完成的,我在 VS2005 中通过拖放数据集创建,使用来自 appSettings 的连接字符串。
我无法解决的问题是 .Net 不会将库 appSettings 传播到正在使用它的其他项目。
简而言之,我有一个数据库层库 MyProgram.DbLayer,它被 MyProgram.Client 等其他项目使用。当我在 .Client 中拥有所有数据集时,connectionString 位于 MyProgram.Client.exe.config 中,这样我可以在构建后更改它。当我将它移到 MyProgram.DbLayer 中时,该设置在我构建二进制文件后对我不可用。
编辑:这似乎是 ApplicationSettings 的一个更普遍的问题。
我注意到的是,如果我手动添加仅在库中使用的设置,它将被正确读取。我现在唯一需要的是将设置也自动包含在 .config 文件中。