Необходимо использовать DTE Реализация:
Объект верхнего уровня в объектной модели автоматизации Visual Studio.Обратитесь к _DTE для этой функции.Не создавайте экземпляры из этого класса.
/// <summary>
/// Represents the field that
/// contain the AsyncPackage
/// instance.
/// </summary>
protected AsyncPackage AsyncPackage { get; set; }
/// <summary>
/// Represents the method that
/// retrieve the service with
/// the passed type.
/// </summary>
public async Task<T> GetServiceByTypeAsync<T>() where T : class
{
return await AsyncPackage.GetServiceAsync(typeof(T)) as T;
}
Пример использования:
Env.DTE dte = await GetServiceByTypeAsync<EnvDTE.DTE>()
И тогда вы можете получить доступ к текущему решению и конфигурациям сборки:
dte.Solution.SolutionBuild.Build();
dte.Solution.SolutionBuild.Clean();
dte.Solution.SolutionBuild.BuildProject("Release", "UniqueName");
Чтобы найти определенный проект:
foreach (Project project in dte.Solution.Projects)
{
dte.Solution.SolutionBuild.BuildProject("Release", project.UniqueName);
}
_DTE Interface | _Solution Interface | Интерфейс SolutionBuild