ConfigurationManager 的命名空间在哪里?

Posted

技术标签:

【中文标题】ConfigurationManager 的命名空间在哪里?【英文标题】:Where is ConfigurationManager's namespace? 【发布时间】:2012-09-25 12:23:05 【问题描述】:

我有一个对 System.Configuration 的引用 - 并且发现 ConfigurationSettings 没有问题 - 但是找不到类型或命名空间“ConfigurationManager”!?

我已经阅读过 - 看起来它应该与 ConfigurationSettings 类属于同一个命名空间。

编辑:请注意 - 我已经明确表示我已经添加了对 System.Configuration 的引用。已经有 4 个 cmets 讨论过这个问题。

【问题讨论】:

您需要添加对System.Configuration的引用 3.5 版。我添加了一个参考 - 阅读 OP。 请在收到警告的地方发布代码。也许这是一个语法问题。还可以在 System.Configuration 下的 Object Explorer 中查看 ConfigurationManager 是否存在。 【参考方案1】:

您需要添加对 System.Configuration 程序集的引用。这个命名空间被分成几个程序集。

【讨论】:

【参考方案2】:

ConfigurationManager 是 .Net 2.0 之后 System.Configuration 的一部分。添加对 System.Configuration dll 的引用。尝试使用 System.Configuration.ConfigurationManager。

【讨论】:

【参考方案3】:

您需要使用系统配置命名空间,这必须包含在两种方式

    右键单击项目并选择添加引用,浏览“程序集”并勾选System.Configuration程序集。

    在代码中包含命名空间:

    使用 System.Configuration;

【讨论】:

查看您添加的引用的属性,获取位置并尝试浏览到它。 使用“使用 System.Configuration”对我不起作用。但是,通过“右键单击 > 添加引用 > 程序集 > System.Configuration”解决方案添加对我有用。谢谢。 感谢您实际提供有关如何添加参考的步骤。【参考方案4】:

您需要在项目的 Reference 文件夹下添加 System.Configuration 引用。仅在您的类中使用 using 语句添加 system.configuration 是不够的。

【讨论】:

作者声明:I've clearly said I have added a reference to System.Configuration。另外,这个问题已经有两年多了,下次请回答一个更新的问题。【参考方案5】:

我在 VisualStudio 2015 中工作,ConfigurationManager 不再出现在 System.Configuration 命名空间中。

我只是想读取 App.config 文件...

然后我找到了解决办法:

获取:

string str = MyProjectNamespace.Properties.Settings.Default["MySettingName"].ToString();

设置:

MyProjectNamespace.Properties.Settings.Default["MySettingName"]="myString";
MyProjectNamespace.Properties.Settings.Default.Save();

【讨论】:

【参考方案6】:

我正在使用 VS 2017,我添加了“使用 System.Configuration”指令,并按照步骤向项目添加了参考程序集,但 IDE 仍然抱怨配置管理器不存在,原来是由于 . Nuget 安装的 net core 只需添加一个空容器。 System.Configuration.Configurationmanager 4.5.0 包也需要安装。 启动工具 -> Nuget 包管理器 -> 包管理器控制台并键入“Install-Package System.Configuration.ConfigurationManager -Version 4.5.0”,这解决了问题。在 VS2017 的对象浏览器中参考下面的截图

【讨论】:

【参考方案7】:

对我来说,当我将“BuildConnectionString”函数放在一个类中并在类页面顶部添加“Imports System.Configuration”时,这个问题就解决了。我按照微软网站本身的说法做了。 https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/connection-string-builders

Private Sub BuildConnectionString(ByVal dataSource As String, _
ByVal userName As String, ByVal userPassword As String)

' Retrieve the partial connection string named databaseConnection
' from the application's app.config or web.config file.
Dim settings As ConnectionStringSettings = _
   ConfigurationManager.ConnectionStrings("partialConnectString")

If Not settings Is Nothing Then
    ' Retrieve the partial connection string.
    Dim connectString As String = settings.ConnectionString
    Console.WriteLine("Original: 0", connectString)

    ' Create a new SqlConnectionStringBuilder based on the
    ' partial connection string retrieved from the config file.
    Dim builder As New SqlConnectionStringBuilder(connectString)

    ' Supply the additional values.
    builder.DataSource = dataSource
    builder.UserID = userName
    builder.Password = userPassword

    Console.WriteLine("Modified: 0", builder.ConnectionString)
End If
End Sub

重点是在类中使用函数。当我这样做时,错误找不到源。

【讨论】:

【参考方案8】:

2021 年夏季,Visual Studio 2019(核心应用程序)。我用

复制了一些代码
ConfigurationManager.AppeSettings["yadayada"];

只需点击出现问题所在行的灯泡图标,然后选择安装 System.Configuration Package。

【讨论】:

以上是关于ConfigurationManager 的命名空间在哪里?的主要内容,如果未能解决你的问题,请参考以下文章

如何解决 .net 标准中的命名空间“System.Configuration”错误中不存在类型或命名空间名称“ConfigurationManager”?

命名空间“System.Configuration”中不存在类型或命名空间名称“ConfigurationMannger”,求帮助,谢谢

动态更改配置文件

Thinkphp 空操作空控制器命名空间

空操作命名空间

app.configs 和 MSTest 项目 - 连接字符串的空引用