Установите флажок «Создать» в диспетчере конфигураций Visual Studio для программных проектов.

Я пытаюсь установить флажки «Сборка» в диспетчере конфигураций Visual Studio с помощью какого-то сценария.

Это для разных «режимов сборки проекта», так что я могу переключаться между сборкой некоторых проектов или нет, в зависимости от того, над чем я сейчас работаю. Мне не нравится делать что-то вручную, поэтому я пытаюсь заставить это работать с помощью автоматического сценария или программы.


person Erdrik Ironrose    schedule 04.10.2019    source источник


Ответы (1)


Вы можете использовать следующий скрипт C# для моего расширения Visual Commander:

public class C : VisualCommanderExt.ICommand
{
    public void Run(EnvDTE80.DTE2 DTE, Microsoft.VisualStudio.Shell.Package package) 
    {
        this.DTE = DTE;

        SetShouldBuild(@"ConsoleApp1\ConsoleApp1.csproj", true);
    }

    void SetShouldBuild(string project, bool shouldBuild)
    {
        EnvDTE80.Solution2 solution2;
        EnvDTE80.SolutionBuild2 solutionBuild2;
        EnvDTE.SolutionContexts solutionContexts;

        solution2 = (EnvDTE80.Solution2)DTE.Solution;
        solutionBuild2 = (EnvDTE80.SolutionBuild2)solution2.SolutionBuild;

        foreach (EnvDTE80.SolutionConfiguration2 solutionConfiguration2 in solutionBuild2.SolutionConfigurations)
        {
            solutionContexts = solutionConfiguration2.SolutionContexts;
            foreach (EnvDTE.SolutionContext solutionContext in solutionContexts)
            {
                if (solutionContext.ProjectName == project)
                    solutionContext.ShouldBuild = shouldBuild;
            }
        }
    }

    EnvDTE80.DTE2 DTE;
}

Добавьте несколько вызовов SetShouldBuild, чтобы "отметить" сборку сразу для нескольких проектов.

person Sergey Vlasov    schedule 05.10.2019
comment
Итак, если я правильно понимаю, это использует EnvDTE80, и установка ShouldBuild контекста решения может управлять флажком? - person Erdrik Ironrose; 05.10.2019
comment
@ErdrikIronrose Он использует Visual Studio SDK и изменяет внутренние настройки сборки решения. - person Sergey Vlasov; 06.10.2019