C# System.Configuration.ConfigurationManager.ConnectionString未配置连接字符串

C# System.Configuration.ConfigurationManager.ConnectionString未配置连接字符串,c#,visual-studio,configuration,connection-string,default,C#,Visual Studio,Configuration,Connection String,Default,每当我试图在我的C代码中运行任何东西时,都会出现以下错误: System.InvalidOperationException was unhandled by user code Message=No connection string configured 它发生在下面的代码中 if (System.Configuration.ConfigurationManager.ConnectionStrings["DBContext"] == null) { throw new Syste

每当我试图在我的C代码中运行任何东西时,都会出现以下错误:

System.InvalidOperationException was unhandled by user code
Message=No connection string configured
它发生在下面的代码中

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);
因此
System.Configuration.ConfigurationManager.connectionString[“DBContext”]
为空。我真的找不到关于它的任何东西,一个可能相关的问题是:表明配置文件可能有问题。现在恐怕我不小心删除了一个配置文件

另外,请阅读以下内容:


它包含默认值,所以我倾向于它在配置文件中,我一定是意外删除了它

如果我是对的,我不知道它应该是哪一个或在哪里,它应该包含什么。如果我错了,我不知道它是从哪里来的。
那么,System.Configuration.ConfigurationManager.ConnectionString[“DBContext”]集在哪里?和/或如何解决此问题?

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>

...

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

可能是您的项目没有引用正确的配置文件。您应该只有一个app.config文件

您需要确保将app.config添加到生成.exe文件的项目中


转到输出目录并打开.exe.config文件。内容是否符合您的预期?

“因此我倾向于它位于配置文件中,我一定是意外删除了它。”是的,就是这样。你有你的配置备份吗?有点痛苦,但它能让你摆脱不得不使用注册表的痛苦。
<configuration>
  <connectionStrings>
    <add name="DBContext" connectionString="data source=.\SQLEXPRESS;Initial Catalog=databasename;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
  </connectionStrings>
  ...
</configuration>