System.Management.dll 无法识别 .Net 4.6

System.Management.dll not recognised .Net 4.6

我遇到了一个非常有线的问题,我创建了一个新的 ASP.Net 4.6 网络应用程序(Visual Studio 2015 社区版)并且一切正常。

该应用程序将完全没有任何问题地编译,但是当我尝试在开发机器(Windows 10 Enterprise)上 运行 应用程序时,我每次都会收到以下错误,我想不通为什么?

BC30002: Type 'ConnectionOptions' is not defined.

我使用的代码如下:

Dim Options As New ConnectionOptions()
        Options.Username = HttpContext.Current.Application("WMIUser")
        Options.Password = HttpContext.Current.Application("WMIPsssword")

        Dim scope As New ManagementScope("\" & server_name & "\root\cimv2", Options)

        scope.Connect()

        Dim objectQuery As New ObjectQuery("SELECT FreeSpace FROM Win32_LogicalDisk where DeviceID=""" + deviceId + ":""")
        Dim objectSearcher As New ManagementObjectSearcher(scope, objectQuery)
        Dim objectCollection As ManagementObjectCollection = objectSearcher.[Get]()

        For Each m As ManagementObject In objectCollection
            Dim FreeSpace As Double = Convert.ToDouble(m("FreeSpace"))
        Next

我在应用程序的引用中引用了 System.Management DLL,我也有它的导入声明。

有人遇到过这个吗?我的搜索全部返回到应用程序中未引用的 DLL,但我已经添加、删除和重新添加,没有任何更改。

请帮助这让我抓狂:-(

好的,这是一个有趣的问题,发布以防万一其他人遇到这个问题。

我在开发机器上解决这个问题的方法是在项目的参考下,您可以选择复制本地,将其设置为 true 并重建应用程序,运行 它和嘿 presto 一切成功了。

我只能假设这可能是一个权限问题,但无论如何这暂时有效。

希望这对以后的人有所帮助。