我试图从配置文件访问connectionStrings。代码是ASP。Net + c#。我已经添加了System。配置参考,也提到与使用。但它仍然不接受集会。

我正在使用VSTS 2008。知道是什么原因吗?

另一个奇怪的地方是程序集名称显示为“System”。configuration",小写c,这不是其他系统程序集的名称显示方式。

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

namespace Utility
{
    public class CommonVariables
    {
        public static String ConnectionString
        {
            get { return ConfigurationManager.ConnectionStrings["EmployeeEntities"].ConnectionString; }
        }  
    }  
}

配置:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="qbankEntities" connectionString="metadata=res://*/qbankModel.csdl|res://*/qbankModel.ssdl|res://*/qbankModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=localhost;Initial Catalog=qbank;Persist Security Info=True;User ID=**;Password=****;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>

当前回答

针对Visual Studio 2019

右键单击项目,去管理NuGet包。

搜索System。配置并安装System.Configuration.ConfigurationManager

现在在您的代码中,配置管理器将被识别。

其他回答

为了进行完整性检查,尝试创建一个新的Web应用程序项目,打开默认的后面的代码。aspx页面。在Page_Load中添加一行以访问连接字符串。

它应该有System。默认情况下添加为参考的配置。您还应该在代码文件的顶部看到using语句。

我的代码背后的文件现在看起来像这样,编译没有问题。

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

namespace WebApplication1
{
  public partial class _Default : System.Web.UI.Page
  {
    protected void Page_Load(object sender, EventArgs e)
    {
      string connString = ConfigurationManager.ConnectionStrings["MyConnectionStringName"].ConnectionString;
    }
  }
}

这假设我在我的网络中有一个连接字符串。配置名称等于“MyConnectionStringName”,就像这样…

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
    </configSections>
    <connectionStrings>
        <add name="MyConnectionStringName"
            connectionString="Data Source=.;Initial Catalog=MyDatabase;Integrated Security=True"
            providerName="System.Data.SqlClient" />
    </connectionStrings>
</configuration>

是的,我知道这很初级。但如果你没有任何更好的想法,有时检查一些你知道应该有效的简单方法会有所帮助。

好吧. .重启VSTS后正常工作。这个链接给出了同样问题的解决方案。真希望我能早点看到。:)

针对Visual Studio 2019

右键单击项目,去管理NuGet包。

搜索System。配置并安装System.Configuration.ConfigurationManager

现在在您的代码中,配置管理器将被识别。

要解决这个问题,请打开解决方案资源管理器,右键单击引用,然后单击添加引用,选择。net,然后查找系统。配置选择单击确定

我已经得到了一个更好的解决方案的问题配置管理器不存在在当前的上下文中。

从web读取连接字符串。配置时,我们需要使用ConfigurationManager类及其方法。如果你想使用,你需要使用System.Configuration添加命名空间;

虽然您使用了这个名称空间,但当您尝试使用ConfigurationManager类时,系统会显示一个错误“ConfigurationManager不存在于当前上下文中”。 要解决这个问题:

ConfigurationManager.ConnectionStrings["ConnectionSql"].ConnectionString;