System.Configuration.ConfigurationManager.Connecti

2019-09-17 12:23发布

每当我试着在我的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.ConnectionStrings["DBContext"]为空。 我真的不能找到任何关于它,有一个问题可能有关: 如何解决“ConnectionString属性尚未初始化”意味着什么可能是错误的配置文件。 这时我怕我一不留神删除了一个配置文件。

另外,刚刚在阅读本文件 :

Returns a ConnectionStringSettingsCollection object that contains the contents of the ConnectionStringsSection object for the current application's default configuration. 

它包含的默认值,所以我倾向于它在,我一定是不小心删除一个配置文件。

如果我是正确的,我不知道是哪一个或者应该是,什么它应该包含。 如果我错了,我不知道它从何而来。 那么,是System.Configuration.ConfigurationManager.ConnectionStrings [“的DbContext”]设置? 和/或如何解决这个问题?

Answer 1:

在.NET连接字符串来自一个配置文件 - 控制台/的Windows应用程序或为web.config中一个Web应用程序要么App.config中。

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

<configuration>
  <connectionStrings>
    <add name="DBContext" connectionString="data source=.\SQLEXPRESS;Initial Catalog=databasename;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
  </connectionStrings>
  ...
</configuration>

当然,你会需要更换的东西,是适合您的环境连接字符串(如替换数据库名称与数据库名)。



Answer 2:

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

你需要确保你添加你的app.config到正在生成.exe文件的项目。

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



文章来源: System.Configuration.ConfigurationManager.ConnectionStrings has no connection string configured