簡體   English   中英

從app.config讀取后,ConnectionString為null

[英]ConnectionString null after reading from app.config

我正在使用VS 2010在C#中編程。我將我的ConnectionString存儲在app.config文件中並從中讀取,當我想打開與數據庫的連接時。 不幸的是,無論我在做什么,連接字符串總是“空”。 這是我的app.config - 文件,我將其重命名為“options.config”。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <add name="connstring"
     connectionString="Data Source=10.10.10.10;Initial Catalog=testdb;Integrated Security=SSPI"/>
  </connectionStrings>

</configuration>

我還添加了對System.configuration - assembly的引用。

然后只需從配置文件中讀取:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Collections.Specialized;

namespace Test_Class
{
   public abstract class SQLConnectionString
    {
   static string connectionstring = ConfigurationManager.ConnectionStrings["connstring"].ConnectionString;

   public static string ConnectionString 
   {
       get
       {
           return connectionstring;
       }
       }
}
}

當您啟動調試會話時,如果您有一個名為app.config的文件,則會將其復制到BIN \\ DEBUG文件夾中YourApplication.Exe.Config命名為YourApplication.Exe.Config

此名稱是ConfigurationManager期望在當前應用程序啟動路徑中找到的名稱。

如果將app.config重命名為不同的東西,則此機制不再起作用,您不能指望ConfigurationManager類在不同的文件中找到有關連接字符串的信息(至少不需要進行一些額外的代碼調整)。 可能你在BIN \\ DEBUG目錄中有一個這個YourApplication.Exe.Config的舊副本。 沒有定義ConnectionStrings部分的部分。

我建議將文件重命名為app.config,讓VS IDE完成它的工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM