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

当前回答

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

其他回答

只需安装

Install-Package System.Configuration.ConfigurationManager -Version 4.5.0

然后使用

using System.Configuration;

在NetCore 3.1中,我不得不使用Microsoft.Extensions.Configuration代替:

    public static async Task Main(string[] args)
    {
        var configuration = new ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddJsonFile(path: "appsettings.json", optional: false, reloadOnChange: true)
            .Build();

...

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

如果你正在使用实体框架核心,另一种解决方案可以如下:

右键单击项目并选择“管理Nuget包” 在“浏览”选项卡上,搜索“Z.EntityFramework.Extensions.EFCore” 安装这个包,'using System.Configuration;'将会被删除 自动添加。

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

现在你可以:

using System.Configuration;