1
我想創建使用Visual Studio實例:EnvDTE Visual Studio 2013:獲取progID?
EnvDTE80.DTE2 dte2;
dte2 = (EnvDTE80.DTE2)System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE.12.0");
而且我總是有例外「無效類字符串」所以我認爲這個問題是「VisualStudio.DTE.12.0」。 但是我正在使用Visual Studio 2013 12.0.30501,我也試圖只用「VisualStudio.DTE」來獲取最新的版本,以及相同的異常。
而且,我試過其他方式:
Type t = Type.GetTypeFromProgID("VisualStudio.DTE.12.0", true);
dte2 = (EnvDTE80.DTE2)System.Activator.CreateInstance(t, true);
的問題仍然存在,我運行了一下出來的想法......難道真的是無效的字符串錯誤?
不,那是正確的ProgID,如果你有VS2013。您的註冊表必須被破壞,請使用Regedit.exe查看HKEY_CLASSES_ROOT \ VisualStudio.DTE.12.0。希望你找不到它。 –
這是正確的,我無法找到註冊表中的HKEY_CLASSES_ROOT \ VisualStudio.DTE.12.0。我應該如何「創造」它? – Geoffrey
你的機器壞了。天知道還有什麼消失了。隨意恐慌。重新運行VS安裝程序可能會起作用。 –