2016-12-08 47 views
1

全部, 我在寫一個Powershell cmdlet。讓我的本地機器上的所有cmdlet都能正常工作。看看訪問遠程機器需要什麼,似乎我需要在我的項目中引用Microsoft.Management.Infrastructure.dll。我搜索我的系統無濟於事。C#需要訪問Microsoft Management Infrastructure命名空間

所以我打穀歌。我確認我正在運行Windows 7 SP1。下載並安裝Windows Management Framework(WMF)4.0。沒有運氣。仍然沒有DLL。我證實我達到了最低要求。

然後我發現了一個微軟網頁,上面說版本5需要WMF 4.0作爲安裝的先決條件。所以我升級了我的.Net Framework到4.6.2。然後安裝WMF 5.0。我的系統上的任何地方仍然沒有.DLL。

有沒有人遇到過這個?任何人都可以闡明我可能做錯什麼嗎?我正在使用Visual Studio 2010.這是問題的原因嗎?

我繼續搜索網頁,發現文章說明Microsoft.Management.Infrastructure DLL是Windows 7 SDK的一部分。嘗試安裝SDK沒有任何效果。仍然無法獲得我的系統上的DLL負載。

繼續尋找修復程序。

回答

0

你能檢查C:\Program Files (x86)\Reference Assemblies\Microsoft\WMI\v1.0看看能否在那裏找到它?

+0

我忽略了說,我發現指向該DLL位置的帖子。但是,我的系統中不存在WMI \ V1.0。雖然,我確實看到了C:\ Program Files(x86)\ Reference Assemblies \ Microsoft, –

1

經過多次嘗試使用.Net框架,WMF版本和Windows 7 SDK的重複嘗試後,我能夠找到的最佳解決方案是安裝Windows 8 SDK。

0

我發現讓這個DLL最簡單的方式 - 我的VS 2017年項目中自動引用它是通過包管理器控制檯:

Install-Package Microsoft.Management.Infrastructure -Version 4.0.0 

由於此處發表的微軟網頁:Nuget Gallery

無需要安裝任何SDK或只有這樣才能得到這個DLL。