2016-12-15 79 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