【问题标题】:How to avoid "The name 'ConfigurationManager' does not exist in the current context" error?如何避免“当前上下文中不存在名称‘ConfigurationManager’”错误?
【发布时间】:2016-11-11 15:06:58
【问题描述】:

我正在使用 VS2008。我有一个项目与数据库连接,连接字符串是通过 ConfigurationManager 从 App.config 读取的。我们正在使用 L2E。

现在我添加了一个帮助项目 AndeDataViewer,它有一个简单的 UI 来显示来自数据库的数据以进行测试/验证。

我不想在辅助项目中创建另一组实体数据模型。我刚刚将所有相关文件作为链接添加到新的帮助程序项目中。

编译时出现如下错误:

Error   15  The name 'ConfigurationManager' does not exist in the current context   C:\workspace\SystemSoftware\SystemSoftware\src\systeminfo\RuntimeInfo.cs    24  40  AndeDataViewer

我想我可能需要从主项目添加另一个项目设置/配置相关文件的链接到辅助项目?新的帮助程序项目中没有 App.config 文件。但看起来我无法将该文件的链接添加到辅助项目中。有什么想法吗?

【问题讨论】:

    标签: c# linq entity-framework configurationmanager


    【解决方案1】:

    在您的项目中,右键单击,添加引用... 在 .NET 选项卡中,找到“System.Configuration”组件名称并单击确定。

    "using System.Configuration" 告诉编译器/IntelliSense 在该命名空间中搜索您使用的任何类。否则,您每次都必须使用全名 (System.Configuration.ConfigurationManager)。但是,如果您不添加引用,则在任何地方都找不到该命名空间/类。

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

    【讨论】:

    • 是的,当我开始学习 .NET 时,这个问题曾经难倒我。引用说明在哪里查找代码,而 using 只是为了避免每次都输入完整的命名空间。它与您自己的外部 (DLL) 代码相同。
    • 哦,如果您想删除该引用,请展开项目中的“References”文件夹并右键单击,将其删除。
    • 为了帮助您进一步理解这一点,您还可以右键单击引用,然后单击“在对象浏览器中查看”。或者转到视图菜单,然后选择对象浏览器。层次结构中的第一级是 DLL,第二级是该 DLL 中的命名空间。这只是将代码组合在一起的一种方式。
    • 非常感谢您的意见。
    【解决方案2】:

    如果您尝试访问 Azure 云服务中的云配置文件并收到错误消息

    CloudConfigurationManager在当前上下文中不存在

    CloudConfigurationManager 类上,那么您需要做的就是将nuget 包Microsoft.WindowsAzure.ConfigurationManager 添加到您的项目中。

    然后,确保在您尝试访问云配置文件的类中包含 using 语句 "using Microsoft.Azure"

    希望这会有所帮助!

    【讨论】:

      【解决方案3】:

      我认为您缺少对 System.Configuration.dll 或 using System.Configuration 子句的引用

      【讨论】:

      • “System.Configuration.dll”在哪里? using System.Configuration 子句就在那里。
      猜你喜欢
      • 2010-12-17
      • 2019-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-01
      • 2019-01-16
      相关资源
      最近更新 更多