Я хочу получить ссылку на текущее решение, используя объект DTE2 с С# в 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 с использованием С# в .net framework 4.0?