2017-10-04 39 views
0

我正在考虑让:信心实现建立并联VSTS

Build in parallel

我想知道的构建是如何在Visual Studio中发生的局部,与理论,如果它的建筑局部精细同时我应该在VSTS中足够安全。

在ye'olden平行建设是可以启用msbuild命令行巫术的东西,根据我对复杂项目的经验,它似乎很少使用其他CPU内核。

但在Visual Studio 2017年,这是一个可爱的简单,我现在有一个很好的新建项目(快乐的日子):

maximum number of builds

我可以从Visual Studio的生成输出告诉很多项目实际上是如何结束并行构建,让我对VSTS设置充满信心?

回答

1

当然,请按以下步骤来更改的MSBuild输出详细程度(在你的屏幕截图的同一窗口):

  1. 工具=>选项
  2. 选择项目和解决方案=>生成和运行
  3. 选择在MSBuild项目生成输出的详细程度正常

然后生成日志在VS输出窗口将是这样的:

1>------ Rebuild All started: Project: MVCCore20, Configuration: Debug Any CPU ------ 
2>------ Rebuild All started: Project: ConsoleApp1, Configuration: Debug Any CPU ------ 
3>------ Rebuild All started: Project: ConsoleApp2, Configuration: Debug Any CPU ------ 
4>------ Rebuild All started: Project: ConsoleApp3, Configuration: Debug Any CPU ------ 
2>Target CoreClean: 
2> Deleting file "D:\1.0_Starain\1.0_Work\4.8_VSO\1.1_Projects\2017\MVCCore20\ConsoleApp1\bin\Debug\netcoreapp2.0\ConsoleApp1.deps.json". 
2> Deleting file "D:\1.0_Starain\1.0_Work\4.8_VSO\1.1_Projects\2017\MVCCore20\ConsoleApp1\bin\Debug\netcoreapp2.0\ConsoleApp1.runtimeconfig.json". 
2> Deleting file "D:\1.0_Starain\1.0_Work\4.8_VSO\1.1_Projects\2017\MVCCore20\ConsoleApp1\bin\Debug\netcoreapp2.0\ConsoleApp1.runtimeconfig.dev.json". 
2> Deleting file "D:\1.0_Starain\1.0_Work\4.8_VSO\1.1_Projects\2017\MVCCore20\ConsoleApp1\bin\Debug\netcoreapp2.0\ConsoleApp1.dll". 
2> Deleting file "D:\1.0_Starain\1.0_Work\4.8_VSO\1.1_Projects\2017\MVCCore20\ConsoleApp1\bin\Debug\netcoreapp2.0\ConsoleApp1.pdb". 
2> Deleting file "D:\1.0_Starain\1.0_Work\4.8_VSO\1.1_Projects\2017\MVCCore20\ConsoleApp1\obj\Debug\netcoreapp2.0\ConsoleApp1.csprojResolveAssemblyReference.cache". 
2> Deleting file "D:\1.0_Starain\1.0_Work\4.8_VSO\1.1_Projects\2017\MVCCore20\ConsoleApp1\obj\Debug\netcoreapp2.0\ConsoleApp1.csproj.CoreCompileInputs.cache". 
2> Deleting file "D:\1.0_Starain\1.0_Work\4.8_VSO\1.1_Projects\2017\MVCCore20\ConsoleApp1\obj\Debug\netcoreapp2.0\ConsoleApp1.AssemblyInfoInputs.cache". 
2> Deleting file "D:\1.0_Starain\1.0_Work\4.8_VSO\1.1_Projects\2017\MVCCore20\ConsoleApp1\obj\Debug\netcoreapp2.0\ConsoleApp1.AssemblyInfo.cs". 
2> Deleting file "D:\1.0_Starain\1.0_Work\4.8_VSO\1.1_Projects\2017\MVCCore20\ConsoleApp1\obj\Debug\netcoreapp2.0\ConsoleApp1.dll". 
2> Deleting file "D:\1.0_Starain\1.0_Work\4.8_VSO\1.1_Projects\2017\MVCCore20\ConsoleApp1\obj\Debug\netcoreapp2.0\ConsoleApp1.pdb". 
2>Target GenerateTargetFrameworkMonikerAttribute: 
2> Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output files are up-to-date with respect to the input files. 
4>Target CoreClean: 
4> Deleting file "D:\1.0_Starain\1.0_Work\4.8_VSO\1.1_Projects\2017\MVCCore20\ConsoleApp3\bin\Debug\netcoreapp2.0\ConsoleApp3.deps.json". 
2>Target CoreCompile: 

编号1,2,3,4表示过程。

在另一方面,它增加了/m参数的MSBuild命令,如果检查构建的选项并行在VSTS建设任务,所以数量进程是每到电脑上的处理器数量,如果你想使用自定义值,您需要取消选中该选项并在MSBuild参数输入框中指定/m:X参数。

+0

伟大的技巧感谢!我有一种感觉,它将在构建输出中,我犯了开启错误的细节,它让我大跌眼镜:-)我认为当数字超过核心数时,它是一个进程计数(猜测进程隔离某种)? –

+0

希望我知道这个宝石早在巨大的.sln天,CPU使用率暗示它并不平行,但我敢打赌,有些零件是。 –