【问题标题】:How do I create a Solution Wide Connection String如何创建解决方案范围的连接字符串
【发布时间】:2011-02-06 22:24:50
【问题描述】:

有谁知道是否可以创建一个连接字符串,解决方案中的所有项目都可以访问(我们大约有 6 个)。

我可以使用此信息创建一个文本文件,但我们也需要设计时支持,并且在解决方案中的每个 App.Config 和 Web.config 文件中都有一个连接字符串是不切实际的。

我们基本上想要一个单一的连接字符串,如果数据库的位置发生变化,该字符串很容易更改,IDE 也将使用它来支持设计时

【问题讨论】:

  • 首先,我是一名 delphi 开发人员,对 .Net 环境非常陌生...如果我能提供更多信息:我们有 1 个 EXE、1 个 Web 应用程序和大量 DLL。我们希望所有项目都能够在运行时和设计时访问这些

标签: visual-studio connection-string app-config global solution


【解决方案1】:

不确定,你不能把一个新的配置文件放到解决方案项目中,然后在所有项目中包含并加载它吗?

编辑:我说的是一般(XML)配置文件,而不是“App.config”。 Is 具有完全相同的格式,只是名称不同。将此文件添加到您的解决方案项目并使用OpenMappedExeConfiguration 访问它。 您可以找到另一个示例 here

【讨论】:

  • 这似乎不可能......但我也可能会错过一些东西。正如上面评论中提到的,我对.net 很陌生
  • OK 这现在变得非常有用。我还设法编写了一个非常相似的函数。相同的原则将适用。在我们的一个 DLL 的 Settings.settings 文件中,我声明了一个连接字符串。这可以通过以下方式访问 FormName.Designer.cs this._connection.ConnectionString = global::MyDLL.Properties.Settings.Default.MyConnectionString;我的最后一个问题是 *.designer.cs 文件是系统生成的。如果我是designer.cs文件中的连接字符串,然后我对可视化设计器进行了更改,它会删除我添加的这个手动添加吗?
  • 对不起,我不知道。也许只是尝试一下? :)
  • OK 它似乎没有任何问题,至少现在是这样。 :) 非常感谢!
  • 不客气。顺便说一句,如果您不介意,点赞一个答案会将其标记为有帮助。 ;)
【解决方案2】:

将连接字符串放入“主”项目的配置中。创建具有连接字符串属性的数据访问项目。初始化项目时设置此属性,并将数据访问项目用于所有 6 个项目中的所有数据库相关操作

【讨论】:

  • 只有在有主项目时才有效,例如几个项目各自生成一个 .exe。
  • 您也可以在数据访问项目的配置文件中添加连接字符串。这样你就只能在一个地方拥有它
  • Ivo...这基本上是我们尝试过的...但我只能在运行时访问它。我们还需要设计时支持(尤其是 DevXpress 报告)。我们在 postgreSQL 数据库中运行并使用 Devart 的 UniDirect 组件。
猜你喜欢
  • 2018-06-04
  • 1970-01-01
  • 1970-01-01
  • 2011-07-06
  • 2011-01-18
  • 2020-03-19
  • 1970-01-01
  • 2011-03-10
  • 1970-01-01
相关资源
最近更新 更多