有没有一种方法可以自动解决方案中特定项目的构建顺序?

时间:2019-03-23 11:44:41

标签: visual-studio build visual-studio-2017

我正在使用Visual Studio2017。我们的团队拥有一个整合的解决方案,其中包含许多项目,并且存在很多依赖性。我们正在研究一个新项目,我想知道是否有任何方法(也许是工具或脚本)以特定顺序构建特定项目(不是整个解决方案)? 目前,我们要手动进行构建。

3 个答案:

答案 0 :(得分:1)

您可以使用SolutionBuild.BuildProject方法,并从Visual Commander进行调用,如下所示:

public class C : VisualCommanderExt.ICommand
{
    public void Run(EnvDTE80.DTE2 DTE, Microsoft.VisualStudio.Shell.Package package) 
    {
        EnvDTE.SolutionBuild builder = DTE.Solution.SolutionBuild;
        builder.BuildProject("Debug", @"C:\ClassLibrary\WindowsFormsApp1\WindowsFormsApp1.csproj", true);
        builder.BuildProject("Debug", @"C:\ClassLibrary\WpfApp1\WpfApp1.csproj", true);
    }
}

答案 1 :(得分:0)

您可以使用MSBuild为特定的配置和平台在Visual Studio外部构建项目。

"c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe" "C:\ClassLibrary\ConsoleApplication2\ConsoleApplication2.vcxproj" /t:Build /p:Configuration=Debug /p:Platform="x64"
"c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe" "C:\ClassLibrary\ConsoleApplication2\ConsoleApplication2.vcxproj" /t:Build /p:Configuration=Debug /p:Platform="Any CPU"

答案 2 :(得分:0)

考虑使用 Visual Studio的“外部工具” (菜单->工具->外部工具...)

从“外部工具...”中,您可以调用一个脚本,该脚本基于传递的参数将构建所需的项目。您需要编写此脚本(例如.bat文件),该脚本具有逻辑,需要根据输入参数来构建项目...

在此处阅读有关VS中“外部工具”菜单的更多信息: https://docs.microsoft.com/en-us/visualstudio/ide/managing-external-tools?view=vs-2017

将参数传递给命令

在“外部工具”对话框中,您可以将所需的参数传递给脚本

  • 当前选定的项目为$(ProjectFileName)
  • 要指定构建配置和平台(debug | release,任何CPU | x64 | x86),请选中“提示输入参数”复选框