2013-10-22 155 views
0

我試圖在Visual Studio 2012中使用WMI。到目前爲止,我已經能夠將管理類添加到服務器資源管理器,然後生成相應的C#代碼。生成的代碼並不完美 - 實際上在某些情況下它需要大量工作 - 但它足以讓我快速啓動。在Visual Studio服務器資源管理器中找不到WMI類

但是,在Add Classes對話框中沒有看到一些類。 Find class containing:也找不到它們。但我確實在系統上看到了關聯的MOF文件,在這種情況下,它們是Hyper-V類(例如Msvm_SnapshotOfVirtualSystem),用於當今系統上的函數,因此推測類已註冊或者管理工具無法工作系統。

Add Classes對話框中可以讓WMI類不顯示什麼?

回答

0

這是picture of what you are doing

您已經發現服務器資源管理器沒有明確顯示「關聯」類。相反,關聯顯示爲樹視圖中類之間的鏈接。

我的意思是?

Msvm_ComputerSystem中沒有字段告訴你它對應於哪個Msvm_VirtualSystemSettingData對象。該信息存儲在一個Msvm_SnapshotOfVirtualSystem對象中。服務器資源管理器顯示兩者之間的鏈接,但不包含存儲鏈接的對象類。

E.g.在這幅圖中,我們看到兩個Msvm_ComputerSystem對象。第一個已經被快照,並且在其樹形視圖中有一個Msvm_VirtualSystemSettingData。存儲Msvm_ComputerSystem和Msvm_VirtualSystemSettingData之間關係的對象不會出現在樹中。

enter image description here

+0

好了,所以這是公平的 - 但是這並不意味着沒有簡單的「生成代碼」作弊幫手與只存在爲關聯類類的工作? –

+0

我想我可能會有一些有用的例子。你爲什麼不給我一個單獨的問題來解釋你想要做什麼。 –

+0

這更多的是一個普遍的問題,我認爲 - 如果一個類在服務器資源管理器中不是直接可用的,VS是否仍然有可能生成一個輔助類? –

相關問題