【问题标题】:Error while reading ConnectionString from App.config file从 App.config 文件中读取 ConnectionString 时出错
【发布时间】:2013-08-12 03:38:30
【问题描述】:

我有这个 App.config 文件:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <add name="ACWConnectionString" connectionString="Data Source=ASHISH-PC\\SQLEXPRESS;Initial Catalog=ACW;User ID=ash159;Password=password"/>
  </connectionStrings>
</configuration>

我在这里使用的:

string connstring = ConfigurationManager.ConnectionStrings["ACWConnectionString"].ToString();

在这里我收到一个错误'NullReferenceException 未处理'..
为什么我收到此错误?
谢谢!!

也尝试了这些,但得到了同样的错误:

 string connstring = ConfigurationManager.ConnectionStrings["ACWConnectionString"].ConnectionString;
 string connstring = ConfigurationManager.ConnectionStrings["ACWConnectionString"].ConnectionString.ToString();

注意:我添加了 System.configuration 并设置了对它的引用。
我还想让你知道我在一个项目(ABC)中有 3 个项目(管理员、员工、数据库)。我已将数据库的引用添加到管理员和员工。然后在需要连接的地方创建这两个项目中的数据库类。
数据库类如下:

 public class database
     {
            SqlConnection connection;
            string connstring = ConfigurationManager.ConnectionStrings["ACWConnectionString"].ToString();
            public SqlConnection connect()
            {
                connection=new SqlConnection(connstring);
                return connection;
            }
        }

我在数据库项目中添加了 App.config 文件。

【问题讨论】:

  • 为我工作。你确定你只在这一行得到空引用吗?
  • 我尝试了与您尝试相同的方法,并且效果很好。你确定 connstring 可以访问 App.Config 文件吗

标签: c# connection-string app-config configuration-files


【解决方案1】:

试试这样的:-

string connstring = ConfigurationManager.ConnectionStrings["ACWConnectionString"].ConnectionString;

【讨论】:

  • 检查 app.config ...它必须在正在运行的项目中?
  • 它必须在数据库项目中吧?当我将连接字符串从数据库传递到其他项目时。
  • 它必须在可执行的项目中,而不是数据库项目中。
【解决方案2】:

读取连接字符串的正确方法是通过ConnectionString属性读取。

 string connstring = ConfigurationManager.ConnectionStrings["ACWConnectionString"].ConnectionString;

顺便说一句,我试过了,效果也很好

string connstring = ConfigurationManager.ConnectionStrings["ACWConnectionString"].ToString();

这意味着代码没有问题。 Add your app.config in the exe project. 如果您在 main(exe) 项目中添加 app.config,您也可以在数据库中访问它,因为您的可执行文件的 app.config 已添加到 bin(除非显式添加任何其他内容)。

【讨论】:

  • @ash 我认为你的问题不是这段代码。您的项目中没有 app.config,这是读取错误
  • @EhsanUllah - 除了发布相同的答案,您还可以投票给其他答案。发布完全相同的答案不会为这篇文章增加任何价值。
  • @RohitVats 我已经发布了代码不是问题。您不能对正确答案投反对票。
  • @ash 检查更新的答案。在 exe 项目中添加您的 app.config。
  • @Ehsan Ullah 我的项目 Admin 和 Employee 都是 exe,但我通过引用它们将连接字符串从数据库传递给它们。所以 App.config 不应该在数据库中?但我必须试试你说的。
【解决方案3】:

添加对System.Configuration.dll的引用,那么您应该可以使用System.Configuration.ConfigurationManager

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-19
    • 1970-01-01
    • 2011-01-24
    • 2012-01-31
    • 1970-01-01
    • 2018-07-27
    • 1970-01-01
    • 2015-07-03
    相关资源
    最近更新 更多