2016-12-15 81 views
-3

我們已經創建瞭如下所示的解決方案,並在創建解決方案後添加了默認項目。請參考下面的代碼無法將項目轉換爲VSProject

 Type visualStudioType = Type.GetTypeFromProgID("VisualStudio.DTE.12.0", true); 
     DTE env = Activator.CreateInstance(visualStudioType, true) as DTE; 
     ServiceProvider serviceProvider = new ServiceProvider(env as Microsoft.VisualStudio.OLE.Interop.IServiceProvider); 
     DTE dte = (DTE)serviceProvider.GetService(typeof(DTE)); 
     Object obj = System.Activator.CreateInstance(visualStudioType, true); 

     EnvDTE80.DTE2 dte8Obj = (EnvDTE80.DTE2)obj; 

     Solution2 soln = (Solution2)dte8Obj.Solution; 

1.我得到如下例外,當創建項目解決方案。

Solution explorer Exception

2.After創建項目,我們能不能夠轉換項目爲VSProject。它顯示的例外如下所示。

Exception when convert project as vsproject

請給解決上面提到的問題的解決方案。

回答

0

您的代碼可以簡化爲:

Type visualStudioType = Type.GetTypeFromProgID("VisualStudio.DTE.12.0", true); 

EnvDTE80.DTE2 dte2 = Activator.CreateInstance(visualStudioType, true) as EnvDTE80.DTE2; 

EnvDTE80.Solution2 soln = dte2.Solution as EnvDTE80.Solution2; 

關於錯誤定位EnvDTE版本7.0.3300.0見:

Error When EnvDTE Is Used with VSLangProj Assemblies

+0

嗨Carrlos, 感謝您的答覆。我試圖添加app.config文件,如上所示,但問題未解決。 – Dheepa

+0

嗨Carrlos, 我試圖使用上面的建議代碼片段創建項目。但是我隨機得到下面提到的錯誤, 1).System.Runtime.InteropServices.COMException(0x80080005):檢索具有CLSID {656D8328-93F5-41A7-A48C-B42858161F25}的組件的COM類工廠失敗,原因是以下錯誤:80080005服務器執行失敗(HRESULT異常:0x80080005(CO_E_SERVER_EXEC_FAILURE))。 2)。「RPC服務器不可用(來自HRESULT的異常:0x800706BA)」 您能否建議如何解決上述問題? 「 最好的問候, – Dheepa

相關問題