2016-12-15 12 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.I получить исключение, как показано ниже, при создании проектного решения.

Solution explorer Exception

2.После создать проект, мы не можем в состоянии преобразовать проект в 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

Hi Carrlos, Я попытался создать проект, используя выше предлагаемого кода. Но я получаю ниже ошибки упоминания случайным образом, 1) .System.Runtime.InteropServices.COMException (0x80080005): извлечение фабрики COM-класса для компонента с CLSID {656D8328-93F5-41A7-A48C-B42858161F25} не удалось из-за следующей ошибки : 80080005 Ошибка выполнения сервера (исключение из HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)). 2). «Сервер RPC недоступен. (Исключение из HRESULT: 0x800706BA)« Можете ли вы предложить, как решить вышеупомянутые проблемы? " С наилучшими пожеланиями, – Dheepa