天天看點

VS 2019 解決對COM元件的調用傳回了錯誤HRESULT E_FAIL

之前電腦裝的vs 2012,後面由于需要用到程式包,還有其它原因更新成vs 2019。在用的過程中需要添加新的引用,結果發現出現問題。問題現象是,右鍵“引用”,選擇“添加應用”,直接報錯,對COM元件的調用傳回了錯誤HRESULT E_FAIL。在網上百度了下,大部分都是一筆帶過,執行一個指令,很少有圖文講解的。是以解決起來還是比較麻煩,這裡借鑒了一個部落客的文章,然後解決的,在解決問題的過程中還有其它問題,這篇文章補充下。

問題截圖:

VS 2019 解決對COM元件的調用傳回了錯誤HRESULT E_FAIL
VS 2019 解決對COM元件的調用傳回了錯誤HRESULT E_FAIL

第一步:運作Developer Command Prompt for VS 2019

怎麼運作?有兩種方法,第一種直接去路徑下找,一般這個路徑都是差不多的。我的在這個目錄下,

VS 2019 解決對COM元件的調用傳回了錯誤HRESULT E_FAIL

或者點選菜單,在Visual Studio 2019檔案夾下也有。

VS 2019 解決對COM元件的調用傳回了錯誤HRESULT E_FAIL

第二種,直接搜尋

VS 2019 解決對COM元件的調用傳回了錯誤HRESULT E_FAIL

運作程式後,程式的安裝目錄就會顯示出來

VS 2019 解決對COM元件的調用傳回了錯誤HRESULT E_FAIL

第二步:執行gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll指令

這裡記住指令要到指定目錄下才能執行,我一開始上來就執行,結果報錯了。

VS 2019 解決對COM元件的調用傳回了錯誤HRESULT E_FAIL
将程式集添加到緩存失敗:系統找不到指定的檔案。
           
VS 2019 解決對COM元件的調用傳回了錯誤HRESULT E_FAIL

網上說的路徑可能不一樣,應該跟版本有關系,反正多試試,我的vs 2019需要執行指令路徑在 …\Common7\IDE\PublicAssemblies 這裡

利用指令 cd E:…\Common7\IDE\PublicAssemblies,然後在執行指令,出現程式集已成功添加到緩存中就可以了。

VS 2019 解決對COM元件的調用傳回了錯誤HRESULT E_FAIL

現在再去試下添加引用,發現可以了。

VS 2019 解決對COM元件的調用傳回了錯誤HRESULT E_FAIL

借鑒: https://blog.csdn.net/zam183/article/details/85291960

繼續閱讀