将app.config文件放在具有多个项目的解决方案中的何处-错误

本文关键字:解决方案 项目 何处 错误 文件 config app | 更新日期: 2023-09-27 18:20:41

我有一个问题。我已经制定了解决方案,它是三层应用程序。所以我有三个项目是类库,其中一个是windows窗体应用程序,它将使用我来启动所有这些并将它们连接在一起。问题是我有数据层app.config文件。如果我把它放在dll中,我就无法读取。如果我把他放在主程序(windows窗体应用程序)中,我仍然无法读取。

所以我的问题是把app.config文件放在哪里,这样我就可以正常读取它了?我正在从DLL中读取它。它必须是这样的,因为它是三层应用程序,所有层都是自己的。一个是数据层、业务逻辑和表示层。

请帮忙。

编辑:

好的,我会传递一些代码:

所以我正在读取数据层app.config文件,如下所示:

SqlConnection konekcija = new SqlConnection(ConfigurationManager.AppSettings["skripta"]);

该类库项目中的app.config文件是:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>
  <appSettings>
    <add key="skripta"
           value="Data Source=DENONTH-PC;Initial Catalog=rups;Integrated Security=True;Pooling=False" />
  </appSettings>
</configuration>

我在那个类librabry和Windows窗体项目中都有app.config,但仍然没有正确引用它。

将app.config文件放在具有多个项目的解决方案中的何处-错误

通常每个项目都有一个app.config,但实际值保留在主(通常是UI)应用程序的配置中。然后我创建了一些核心/实用程序项目,并在那里创建了一个负责公开配置键/值的类。Core/Utility项目没有依赖项,但任何需要配置值的项目都可以(并且是!)引用它。如果有一天我想切换到例如数据库驱动的配置,它给了我一个非常简单的抽象层。

所以最后:把所有的东西都放在windows窗体配置中。如果使用ConfigurationManager类,它应该可以从类库完全访问。

编辑#1:首先,如果您想存储和使用连接字符串,请正确操作,这意味着:在app.config:中

<connectionStrings>
    <add name="ConnString" connectionString="server..."/>
</connectionStrings>

代码:

ConfigurationManager.ConnectionStrings["ConnString"];

现在就试试。我很确定你做错了什么,因为你的代码应该可以工作。

You can add app config file in windows application. You can access it by using ConfigurationManager class.

也可以参考这个链接,希望这能对你有所帮助。

访问http://msdn.microsoft.com/en-us/library/ms184658%28v=vs.80%29.aspx