我试图从配置文件访问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>

当前回答

右键单击项目 选择管理器NuGet包 发现系统。配置 选择Microsoft的System.Configuration.ConfigurationManager 安装

现在你可以:

using System.Configuration;

其他回答

不仅需要使用名称空间System.Configuration。您还必须将引用添加到程序集System.Configuration.dll,通过

右键单击引用/依赖项 选择添加参考 找到并添加System.Configuration。

这肯定有用。 同样,对于NameValueCollection,你必须写:

using System.Collections.Specialized;

加上这个答案,因为建议的解决方案都不适合我。

右键单击引用选项卡添加引用。 单击“程序集”选项卡 搜索“系统”。配置的 单击OK。

如果您错误地添加了对不同的、不相关的项目的引用,也可能会得到此错误。看看这是否适用于你。

在项目中,右键单击,添加引用…,在. net选项卡中,找到System。配置组件名称,单击“确定”。

使用系统。配置告诉编译器/智能感知在命名空间中搜索你使用的任何类。否则,每次都必须使用全名(System.Configuration.ConfigurationManager)。但是如果不添加引用,则在任何地方都找不到该名称空间/类。

请注意,DLL可以有任何名称空间,因此文件System.Configuration.dll理论上可以有名称空间Some.Random.Name。对于清晰度/一致性,它们通常是相同的,但也有例外。

针对Visual Studio 2019

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

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

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