Visual studio 勾选“;“建立”;在Visual Studio中';s以编程方式为项目配置管理器
我试图通过某种脚本在VisualStudio的配置管理器中设置“构建”复选框Visual studio 勾选“;“建立”;在Visual Studio中';s以编程方式为项目配置管理器,visual-studio,build,automation,configurationmanager,Visual Studio,Build,Automation,Configurationmanager,我试图通过某种脚本在VisualStudio的配置管理器中设置“构建”复选框 这是针对不同的“项目构建模式”,因此我可以根据当前的工作,在构建或不构建某些项目之间进行切换。我不喜欢手动操作,所以我尝试通过自动脚本或程序使其工作。您可以使用以下C#脚本作为我的扩展: public class C : VisualCommanderExt.ICommand { public void Run(EnvDTE80.DTE2 DTE, Microsoft.VisualStudio.Shell.Pa
这是针对不同的“项目构建模式”,因此我可以根据当前的工作,在构建或不构建某些项目之间进行切换。我不喜欢手动操作,所以我尝试通过自动脚本或程序使其工作。您可以使用以下C#脚本作为我的扩展:
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调用,一次“勾选”几个项目的构建。因此,如果我理解正确,这是使用EnvDTE80,设置解决方案上下文的ShouldBuild可以控制勾选框?@ErdrikIronrose它使用Visual Studio SDK并更改内部解决方案构建设置。