void AddWebsiteResolveAndCopyReferencesTasks(Target target, ProjectInfo webProjectInfo, string final_ref_item, string w_guid) { BuildTask task = target.AddNewTask("ResolveAssemblyReference"); task.SetParameterValue("Assemblies", String.Format("@({0}->'%(FullPath)')", final_ref_item)); task.SetParameterValue("TargetFrameworkDirectories", "$(TargetFrameworkPath)"); task.SetParameterValue("SearchPaths", "{RawFileName};{TargetFrameworkDirectory};{GAC}"); task.SetParameterValue("FindDependencies", "true"); task.SetParameterValue("FindSatellites", "true"); task.SetParameterValue("FindRelatedFiles", "true"); task.Condition = String.Format("Exists ('%({0}.Identity)')", final_ref_item); string copylocal_item = String.Format("{0}_CopyLocalFiles", final_ref_item); task.AddOutputItem("CopyLocalFiles", copylocal_item); // Copy the references task = target.AddNewTask("Copy"); task.SetParameterValue("SourceFiles", String.Format("@({0})", copylocal_item)); task.SetParameterValue("DestinationFiles", String.Format( "@({0}->'$(Project_{1}_AspNetPhysicalPath)\\Bin\\%(DestinationSubDirectory)%(Filename)%(Extension)')", copylocal_item, w_guid)); // AspNetConfiguration, is config for the website project, useful // for overriding from command line StringBuilder cond = new StringBuilder(); foreach (string config in webProjectInfo.AspNetConfigurations) { if (cond.Length > 0) { cond.Append(" or "); } cond.AppendFormat(" ('$(AspNetConfiguration)' == '{0}') ", config); } task.Condition = cond.ToString(); task = target.AddNewTask("Message"); cond = new StringBuilder(); foreach (string config in webProjectInfo.AspNetConfigurations) { if (cond.Length > 0) { cond.Append(" and "); } cond.AppendFormat(" ('$(AspNetConfiguration)' != '{0}') ", config); } task.Condition = cond.ToString(); task.SetParameterValue("Text", "Skipping as the '$(AspNetConfiguration)' configuration is " + "not supported by this website project."); }
// emits the MSBuild task to GetTargetPath for the referenced project void AddWebsiteMSBuildTaskForReference(Target target, ProjectInfo depInfo, TargetInfo projectTargetInfo, TargetInfo solutionTargetInfo, string final_ref_item, int ref_num) { BuildTask task = target.AddNewTask("MSBuild"); task.SetParameterValue("Projects", depInfo.FileName); task.SetParameterValue("Targets", "GetTargetPath"); task.SetParameterValue("Properties", string.Format("Configuration={0}; Platform={1}; BuildingSolutionFile=true; CurrentSolutionConfigurationContents=$(CurrentSolutionConfigurationContents); SolutionDir=$(SolutionDir); SolutionExt=$(SolutionExt); SolutionFileName=$(SolutionFileName); SolutionName=$(SolutionName); SolutionPath=$(SolutionPath)", projectTargetInfo.Configuration, projectTargetInfo.Platform)); task.Condition = string.Format(" ('$(Configuration)' == '{0}') and ('$(Platform)' == '{1}') ", solutionTargetInfo.Configuration, solutionTargetInfo.Platform); string ref_item = String.Format("{0}_{1}", final_ref_item, ref_num); task.AddOutputItem("TargetOutputs", ref_item); task = target.AddNewTask("CreateItem"); task.SetParameterValue("Include", String.Format("@({0})", ref_item)); task.SetParameterValue("AdditionalMetadata", String.Format("Guid={{{0}}}", depInfo.Guid.ToString().ToUpper())); task.AddOutputItem("Include", final_ref_item); }
private void AddXActBuildTask(string intermediateDirectory, string outputDirectory, string rootDirectory, string targetPlatform) { BuildTask xactTask = m_contentTarget.AddNewTask("CreateItem"); xactTask.SetParameterValue("Include", "@(Content)"); xactTask.Condition = "'%(Content.Importer)' == 'XactImporter'"; xactTask.AddOutputItem("Include", "XACTContent"); BuildTask bt = m_xnaTarget.AddNewTask("BuildXact"); bt.SetParameterValue("XactProjects", "@(XACTContent)"); bt.SetParameterValue("IntermediateDirectory", intermediateDirectory); bt.SetParameterValue("OutputDirectory", outputDirectory); bt.SetParameterValue("RootDirectory", rootDirectory); bt.SetParameterValue("TargetPlatform", targetPlatform); bt.SetParameterValue("XnaFrameworkVersion", "v1.0"); }
private void AddContentBuildTask(string intermediateDirectory, string outputDirectory, string rootDirectory, string targetPlatform) { BuildTask contentTask = m_contentTarget.AddNewTask("CreateItem"); contentTask.SetParameterValue("Include", "@(Content)"); contentTask.Condition = "'%(Content.Importer)' != 'XactImporter'"; contentTask.AddOutputItem("Include", "XNAContent"); BuildTask bt = m_xnaTarget.AddNewTask("BuildContent"); bt.SetParameterValue("SourceAssets", "@(XNAContent)"); bt.SetParameterValue("PipelineAssemblies", "@(PipelineAssembly)"); bt.SetParameterValue("IntermediateDirectory", intermediateDirectory); bt.SetParameterValue("OutputDirectory", outputDirectory); bt.SetParameterValue("RootDirectory", rootDirectory); bt.SetParameterValue("TargetPlatform", targetPlatform); }