Ниже показано, как вы можете получить текущий каталог решений из надстройки:
_applicationObject = (DTE2)application; // retrieved from OnConnection method
string solutionDir = System.IO.Path.GetDirectoryName(_applicationObject.Solution.FullName);
Как бы вы сделали это через VSPackage?
Я переношу надстройку Visual Studio в VSPackage, поскольку собираюсь добавить некоторые пользовательские элементы управления, которые требуют более глубокой интеграции с IDE.
Я нашел несколько хороших ссылок на сравнительные преимущества надстроек и пакетов интеграции, таких как:
http://nayyeri.net/visual-studio-addin-vs-integration-package-part-1
И несколько хороших учебников по msdn для VSPackages, таких как:
http://msdn.microsoft.com/en-us/library/cc138589.aspx
Я еще не нашел хорошую ссылку (в MSDN или иным образом) на то, как интерфейсы более высокого уровня в надстройках (например, DTE) отображаются на интерфейсы более низкого уровня в VSPackages.
Есть ли какие-нибудь хорошие ссылки, чтобы помочь с общим отображением интерфейсов надстроек к интерфейсам VSPackage?