没有从项目中的App.config读取连接字符串

时间:2014-07-24 23:50:30

标签: c# winforms connection-string configurationmanager

我使用抽象类从App.config文件中获取ConnectionString。但是,除了指定的ConnectionString,应用程序才会出现......

{data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true}

我不知道这个连接字符串来自哪里。我没有安装SQL Express。我知道没有访问正确的App.config,因为我添加了一个名为foo的虚连接字符串,当我逐步调试而不是两个时,只拾取了一个连接字符串。就像应用程序从另一个App.config获取连接字符串一样!

这是我的班级

using System;
using System.Configuration;

namespace MyApiUpdater.Data
{
    public abstract class ConnectionAccess
    {

        protected string ConnectionString
        {
            get 
            {
                return ConfigurationManager.ConnectionStrings["MyDatabase"].ConnectionString;
            }
        }
    }
}

这是我的App.config文件

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <connectionStrings>
        <add name="MyDatabase" connectionString="Server=MyDatabaseServer;Database=MyDBName;Trusted_Connection=True;" />\
        <add name="foo" connectionString="Server=MyDatabaseServer;Database=MyDBName;Trusted_Connection=True;" />
    </connectionStrings>
</configuration>

1 个答案:

答案 0 :(得分:0)

看看这个: Override machine.config by web.config

另外,请确保您使用的是Visual Studio中正确的配置文件,因为您可能会意外地从错误的文件夹中获取并编辑一个文件,这样您的应用程序就会抓取machine.config中的连接字符串。

请参阅:Where Is Machine.Config?并查看该文件,您将看到错误字符串的来源。

附加标签:web.config