【问题标题】:Is the ManagementEventWatcher class no longer available in the System.Management namespace?System.Management 命名空间中不再提供 ManagementEventWatcher 类吗?
【发布时间】:2014-04-09 00:47:27
【问题描述】:

我收到以下错误消息:

命名空间“System.Management”中不存在类型或命名空间名称“ManagementEventWatcher”(您是否缺少程序集引用?)

我在项目引用中包含System.Management,但找不到类型。

我以管理员身份运行 Visual Studio,但仍然得到相同的结果。 ManagementEventWatcher 消失了吗?

【问题讨论】:

  • 您可能在项目中选择了错误的 CLR(.NET Framework 版本)。如果您的 DLL 是为 CLR 2 构建的,则它无法引用 CLR 4 程序集,因此无法找到该类型。

标签: c# asp.net .net


【解决方案1】:

您可能缺少对System.Management.dll 的程序集引用。 using 语句只是将名称引入范围,以节省您输入前缀的时间:它实际上并未将 DLL 引用添加到项目中。

如果您添加了引用并且在您的课程中没有包含using System.Management,那么您会收到此错误消息。此外,如果您只在您的课程中包含using System.Management 并且没有将它的引用包含到您的项目中,您将收到类似的错误消息。您必须将System.Management.dll 的引用添加到您的项目中,就像我在下面显示的那样。


转到解决方案资源管理器,展开您的项目,右键单击“引用”文件夹/选项,然后从上下文菜单中选择“添加引用”。现在选择 .Net 选项卡并从列表中选择System.Management,然后单击确定。

如果您有 VS2010、VS2012、VS2013... 通过右键单击“引用”文件夹/选项添加引用,然后从上下文菜单中选择“添加引用”。现在选择 Assemblies,然后选择 Framework 选项卡,然后从列表中选择 System.Management,然后单击 OK。

【讨论】:

  • 那是程序集。来自问题:“我的项目参考中包含 System.Management”
  • 作者在问题中提出的错误是命名空间“System.Management”中不存在类型或命名空间名称“ManagementEventWatcher”(您是否缺少程序集引用?) 我提供了它的解决方案,它会消除这个错误
  • 为什么要对@PatrickHofman 投反对票?我提供了有效的解决方案。作者询问它面临的错误,我解释了它为什么面临。如果您有更好的答案,请在此处提供...
  • 谁说我投票给你了?
  • @Mark:你能澄清一下吗?您是否按照建议添加了对项目的引用?
【解决方案2】:

检查您是否为要添加的 DLL 选择了正确的 CLR 版本。我查看了我的 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5.1 文件夹,并且在该文件夹中找到的 System.Management.dll 仍然具有该类。我添加了一个引用和一个 using 语句,并且能够构造它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-20
    • 2011-05-17
    • 1970-01-01
    • 1970-01-01
    • 2014-02-04
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多