它使用的决策之一
MSBuild SDK
,允许在上创建自定义任务
C#
.通过它,你可以控制构建过程,描述自己的逻辑。
using Microsoft.Build.Construction;
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
using System.Linq;
namespace MSBuild.Common
{
class Build : Task
{
[Required]
public string Solution
{
get;
set;
}
public override bool Execute()
{
return BuildEngine2.BuildProjectFilesInParallel(SolutionFile.Parse(Solution).ProjectsByGuid.Select(p => p.Value.AbsolutePath).ToArray(), null, null, null, null, true, false);
}
}
}
这是任务示例。它是解决方案的接受路径,并对其项目执行并行编译。您可以将属性添加到
BuildProjectFilesInParallel
这将描述构建过程。
已创建任务的调用将来自自定义目标:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" InitialTargets="EntryBuild">
<UsingTask AssemblyFile="Build.dll" TaskName="Build" />
<Target Name="EntryBuild">
<Build Solution="$(Solution)" />
</Target>
</Project>
通过以下方式执行
MSBuild CLI
:
msbuild.exe /t:Build.targets /p:Solutin=%pathToSolution%
MSBuild Targets
|
Task Writing