System.Configuration.ConfigurationManager.ConnectionStrings没有配置连接字符串

Nie*_*ein 2 c# configuration connection-string default visual-studio

每当我尝试在我的C#代码中运行任何东西时,我都会收到以下错误:

System.InvalidOperationException was unhandled by user code
Message=No connection string configured
Run Code Online (Sandbox Code Playgroud)

它发生在以下代码中.

if (System.Configuration.ConfigurationManager.ConnectionStrings["DBContext"] == null)
{
     throw new System.InvalidOperationException("No connection string configured");
}

connectionString = string.Format("{0};Application Name={1}", System.Configuration.ConfigurationManager.ConnectionStrings["DBContext"].ConnectionString, this.applicationName);
Run Code Online (Sandbox Code Playgroud)

所以System.Configuration.ConfigurationManager.ConnectionStrings["DBContext"]是null.我真的找不到任何关于它的东西,一个可能相关的问题:如何修复"ConnectionString属性尚未初始化"表明配置文件可能有问题.此刻我恐怕不知何故意外删除了一个配置文件.

另外,请在文档中阅读:

Returns a ConnectionStringSettingsCollection object that contains the contents of the ConnectionStringsSection object for the current application's default configuration. 
Run Code Online (Sandbox Code Playgroud)

它包含默认值,所以我倾向于在配置文件中,我必须意外删除.

如果我是对的,我不知道它应该是哪一个,应该包含哪些内容.如果我错了,我不知道它来自哪里.那么System.Configuration.ConfigurationManager.ConnectionStrings ["DBContext"]在哪里设置?和/或我该如何解决这个问题?

Omr*_*itt 6

.NET中的连接字符串来自配置文件 - 用于控制台/ Windows应用程序的app.config或用于Web应用程序的web.config.

您可以通过右键单击项目并添加正确的文件来向项目添加新的配置文件,并确保在该配置文件中包含以下部分:

<configuration>
  <connectionStrings>
    <add name="DBContext" connectionString="data source=.\SQLEXPRESS;Initial Catalog=databasename;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
  </connectionStrings>
  ...
</configuration>
Run Code Online (Sandbox Code Playgroud)

当然,您需要使用适合您环境的内容替换连接字符串(例如,将databasename替换为您的数据库名称).