如何使用ConfigurationManager

8 浏览
0 Comments

如何使用ConfigurationManager

我想使用App.config来存储一些设置。

我尝试使用下面的代码从配置文件中获取参数:

private string GetSettingValue(string paramName)
{
    return String.Format(ConfigurationManager.AppSettings[paramName]);
}

我还为此添加了System.Configuration(我使用了一个单独的类),并且在App.config文件中我有:



   
    
  
  
    
  

但是当我尝试使用ConfigurationManager时,我遇到了一个错误 - ConfigurationManager无法存在于这样的上下文中,但是我已经添加了System.Configuration。我错过了什么吗?

编辑

配置文件的类(完整视图)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Configuration;
namespace browser
{
    class ConfigFile
    {
        private string GetSettingValue(string paramName)
        {
            return String.Format(ConfigurationManager.AppSettings[paramName]);
        }
    }
}

编辑2

添加外观

enter image description here

这意味着问题不是在使用ConfigurationManger时出现的,而是在之前 - 程序“说”它“不知道这样的元素”,我理解这个错误 - "元素ConfigurationManager"在这样的上下文中不存在"

编辑3

enter image description here

编辑4

enter image description here

0
0 Comments

问题出现的原因:在代码中调用了错误的方法,没有正确使用ConfigurationManager。

解决方法:将代码修改为正确的调用方式,并添加对System.Configuration的引用。

最开始,我花了一段时间才发现,这段代码根本无法编译通过:

return String.(ConfigurationManager.AppSettings[paramName]);

你甚至没有调用String类型的任何方法。只需要这样修改代码即可:

return ConfigurationManager.AppSettings[paramName];

AppSettings键值对已经返回了一个字符串。如果名称不存在,它将返回null。

根据你的编辑,你还没有在你正在工作的项目中添加对System.Configuration程序集的引用。

0
0 Comments

问题:如何使用ConfigurationManager?

原因:在使用ASP .NET6时,我们想要使用ConfigurationManager来读取配置文件中的值。但是,由于存在命名冲突,我们不得不创建一个专门的命名空间来解决这个问题。

解决方法:首先,我们需要安装NuGet包System.Configuration.ConfigurationManager。然后,我们需要创建一个配置文件,命名为App.config,并将其内容填写如下:



    
        
        
        
    

接下来,我们需要在代码中读取配置文件中的值。我们创建了一个SettingsService.cs文件,并在其中定义了一个接口ISettingsService和一个实现类SettingsService。在这些类中,我们使用了ConfigurationManager来读取配置文件中的值。具体代码如下:

using namespc = System.Configuration;
namespace Ecommerce_server.Services.SetupOperation
{
    public interface ISettingsService
    {
        string MongoDBConnectionString { get => namespc.ConfigurationManager.AppSettings["DBConnectionString"]!; }
        string DataBaseName { get => namespc.ConfigurationManager.AppSettings["DBConnectionString"]!; }
        public string AuthKey { get => namespc.ConfigurationManager.AppSettings["DBConnectionString"]!; }
    }
    public class SettingsService : ISettingsService
    {
        public string MongoDBConnectionString { get => namespc.ConfigurationManager.AppSettings["DBConnectionString"]!; }
        public string DataBaseName { get => namespc.ConfigurationManager.AppSettings["DBConnectionString"]!; }
        public string AuthKey { get => namespc.ConfigurationManager.AppSettings["DBConnectionString"]!; }
    }
}

通过以上步骤,我们成功地解决了使用ConfigurationManager的问题,并能够在代码中读取配置文件中的值。

0
0 Comments

问题的出现原因:

在使用 ConfigurationManager 类时,可能会遇到找不到相关的 dll 文件的问题,导致代码无法正常工作。

解决方法:

首先,需要打开 NuGet 控制台。在 Visual Studio 中,可以通过依次选择 "工具" -> "NuGet 包管理器" -> "控制台" 来打开 NuGet 控制台。

然后,在 NuGet 控制台中输入以下命令:

Install-Package System.Configuration.ConfigurationManager

如果需要安装特定版本的 System.Configuration.ConfigurationManager 包,可以使用以下命令:

Install-Package System.Configuration.ConfigurationManager -Version 4.5.0

执行以上命令后,系统会自动下载并导入 ConfigurationManager 相关的 dll 文件。这样,代码就可以正常工作了。

0