Я хочу получить ссылку на текущее решение, с помощью объекта DTE2 с C # в Visual Studio 2010.
Сначала я попробовал следующий код:
var dte = Marshal.GetActiveObject("VisualStudio.DTE.10.0") as EnvDTE80.DTE2;
Но когда я открываю 2 решения, и этот код находится в первом решении, я НЕ получаю ссылку на текущее решение, но ссылка на последнее загруженное мной решение. Мне нужно текущее решение ...
При поиске в Интернете я нашел следующее решение в Как получить текущий каталог решения из VSPackage? :
// Get an instance of the currently running Visual Studio IDE
DTE dte = (DTE)GetService(typeof(DTE));
Но когда я использую это, мой объект dte всегда равен NULL.
Итак, как мне добраться до моего текущего объекта решения в VS2010, используя C # на платформе .net 4. 0?