系统管理.dll无法识别.Net 4.6



我遇到了一个非常有线的问题,我创建了一个新的 ASP.Net 4.6 Web 应用程序(Visual Studio 2015 Community Edition),一切正常。

该应用程序将毫无问题地编译,但是一旦我尝试在开发计算机(Windows 10 企业版)上运行该应用程序,我每次都会收到以下错误,并且无法弄清楚原因?

BC30002:未定义类型"连接选项"。

我使用的代码如下:

Dim Options As New ConnectionOptions()
        Options.Username = HttpContext.Current.Application("WMIUser")
        Options.Password = HttpContext.Current.Application("WMIPsssword")
        Dim scope As New ManagementScope("\" & server_name & "rootcimv2", 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 并重建应用程序,运行它,嘿,一切都工作了。

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

希望这对将来的某人有所帮助。

最新更新