public virtual void PrepareBuild(string config, bool cleanBuild)
{
if (buildIsPrepared && !cleanBuild) return;
var options = GetProjectOptions(config);
var outputPath = Path.GetDirectoryName(options.OutputAssembly);
if (cleanBuild && CurrentConfig.Targets.ContainsKey(MsBuildTarget.Clean))
{
InvokeMsBuild(MsBuildTarget.Clean);
}
PackageUtilities.EnsureOutputPath(outputPath);
if (!string.IsNullOrEmpty(options.XmlDocFileName))
{
PackageUtilities.EnsureOutputPath(Path.GetDirectoryName(options.XmlDocFileName));
}
buildIsPrepared = true;
}