【问题标题】:Cannot integrate App.config values into c# code无法将 App.config 值集成到 c# 代码中
【发布时间】:2014-04-02 01:23:45
【问题描述】:

我正在尝试使用由 Visual Studio 2010 中的 C# 程序中的 App.config 文件指定的值,基于此帖子的“已接受答案”中指定的方向:Custom app.config Config Section Handler

我的代码文件是using System.Configuration,我正在尝试创建以下内容:

public class ConnectionCollection : ConfigurationElementCollection {
    //code here
}

public class ConnectionElement : ObjectConfigurationElement {
    //code here
}

但是,错误消息显示找不到 ConfigurationElementCollection、ObjectConfigurationElement 和 ConfigurationElement。我做错了什么?

【问题讨论】:

  • 你使用的是哪个版本的框架?
  • Visual Studio 2010 中的 c#.net
  • 那是开发环境版本,不是你项目中使用的框架版本。 VS2010 默认为 4.0。另外,您是否添加了对 System.Configuration 程序集的引用?
  • 是的,我添加了对 System.Configuration 的引用,但它仍然不起作用。目标框架是 .NET 框架 4。
  • 这是什么ObjectConfigurationElement?引用程序集后ConfigurationElementCollection 应该没问题,但我没有看到任何ObjectConfigurationElement。仅限ConfigurationElementmsdn.microsoft.com/en-us/library/…

标签: c# .net xml visual-studio-2010 app-config


【解决方案1】:

您可能需要包含对实际 System.Configuration 程序集的引用...

  1. 在解决方案资源管理器窗口中右键单击您的项目名称
  2. 点击添加参考
  3. 选择 .NET 选项卡
  4. 突出显示 System.Configuration 并单击确定

【讨论】:

  • 我已经这样做了,但仍然没有工作。 “使用”指令没有出现错误。
  • System.Configuration 命名空间用于多个程序集,而不仅仅是System.Configuration 程序集。这意味着它可能是您可能引用的其他程序集的有效命名空间。我会仔细检查您是否确实引用了该程序集。
  • @La-comadreja 如果您查看解决方案资源管理器中的“引用”节点,您是否看到那里的“System.Configuration”?你有没有看到它旁边的黄色警告图标?
  • 我看到一个名为“System.configuration”的参考(原文如此,配置没有大写)并且没有警告图标。我不知道如何找到它是否是另一个程序集的警告。
  • 没有大写?那里有些古怪。另请参阅我的问题:ObjectConfigurationElement 是什么?你现在只有这个问题,还是ConfigurationElementCollection 太沉了?
【解决方案2】:

什么样的错误信息?我有一种感觉,您无法编译上面的源代码,并且错误消息不是运行时异常的消息。我假设IDE 和 IntelliSense 会警告您。 一般来说,在这种情况下,您应该首先尝试以下方法:

  1. 将光标放在IDE 无法解释的类上,例如ConfigurationElementCollection。然后按Ctrl+.。这将为您提供所需的正确 using 语句,输入即可接受。
  2. 如果第一步不起作用(例如在这种情况下),则意味着您缺少程序集引用。在这种情况下搜索 MSDN,并确定所需的参考。之后在Solution Explorer中,在你的Project的节点下右键References节点,Add Reference...,然后在即将出现的Reference Manager中选择Assemblies节点,在这种情况下勾选System.Configuration,然后确定。现在回到第一步,你可以使用Ctrl+.。如果您仍然无法使用,那么您引用了错误的程序集。

【讨论】:

  • Ctrl+ 似乎没有加载任何语句。它似乎只是突出了程序的一部分。
  • 确保您的Target framework:(右键单击ProjectProperties...)是".NET Framework 4",而不是".NET Framework 4 Client Profile"
  • 顺便说一句,我刚刚检查了 VS 2010,.NET 4,你提到了什么。我只有 ObjectConfigurationElement 有问题。尝试从另一个干净的项目开始,并且只有第一堂课。有用吗?
  • 我已经完成了你所说的@Csaba_Toth。我仍然遇到同样的问题。不,它不起作用。
  • 也许您应该从参考资料中解决问题,为什么它是小写的?那很奇怪。右键单击那个小写的 System.configuration 参考项,然后选择 Properties,然后查看实际文件的路径。它来自哪里?在我的机器上它是 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Configuration.dll,但我有 Windows SDK 和调试器工具包以及很多 shebang。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多