void EvaluateProject(ProjectInfo pi, MSBuildEvaluationContext context) { context.InitEvaluation(pi.Project); var objects = pi.Project.GetAllObjects(); // If there is a .user project file load it using a fake import item added at the end of the objects list if (File.Exists(pi.Project.FileName + ".user")) { objects = objects.Concat(new MSBuildImport { Project = pi.Project.FileName + ".user" }); } EvaluateObjects(pi, context, objects, false); EvaluateObjects(pi, context, objects, true); }
void EvaluateProject(ProjectInfo pi, MSBuildEvaluationContext context, bool evalItems) { // XmlDocument is not thread safe, so we need to lock while evaluating context.InitEvaluation(pi.Project); EvaluateObjects(pi, context, pi.Project.GetAllObjects(), evalItems); }
void EvaluateProject(ProjectInfo pi, MSBuildEvaluationContext context) { context.InitEvaluation(pi.Project); EvaluateObjects(pi, context, pi.Project.GetAllObjects(), false); EvaluateObjects(pi, context, pi.Project.GetAllObjects(), true); }
void EvaluateProject (ProjectInfo pi, MSBuildEvaluationContext context, bool evalItems) { // XmlDocument is not thread safe, so we need to lock while evaluating context.InitEvaluation (pi.Project); EvaluateObjects (pi, context, pi.Project.GetAllObjects (), evalItems); }
void EvaluateProject (ProjectInfo pi, MSBuildEvaluationContext context) { context.InitEvaluation (pi.Project); EvaluateObjects (pi, context, pi.Project.GetAllObjects (), false); EvaluateObjects (pi, context, pi.Project.GetAllObjects (), true); }
void EvaluateProject(ProjectInfo pi, MSBuildEvaluationContext context, bool evalItems) { context.InitEvaluation(pi.Project); EvaluateObjects(pi, context, pi.Project.GetAllObjects(), evalItems); }
void EvaluateProject (ProjectInfo pi, MSBuildEvaluationContext context, bool evalItems) { context.InitEvaluation (pi.Project); EvaluateObjects (pi, context, pi.Project.GetAllObjects (), evalItems); }
void EvaluateProject (ProjectInfo pi, MSBuildEvaluationContext context) { context.InitEvaluation (pi.Project); var objects = pi.Project.GetAllObjects (); // If there is a .user project file load it using a fake import item added at the end of the objects list if (File.Exists (pi.Project.FileName + ".user")) objects = objects.Concat (new MSBuildImport {Project = pi.Project.FileName + ".user" }); EvaluateObjects (pi, context, objects, false); EvaluateObjects (pi, context, objects, true); // Once items have been evaluated, we need to re-evaluate properties that contain item transformations // (or that contain references to properties that have transformations). foreach (var propName in context.GetPropertiesNeedingTransformEvaluation ()) { PropertyInfo prop; if (pi.Properties.TryGetValue (propName, out prop)) { // Execute the transformation prop.FinalValue = context.EvaluateWithItems (prop.FinalValue, pi.EvaluatedItems); // Set the resulting value back to the context, so other properties depending on this // one will get the new value when re-evaluated. context.SetPropertyValue (propName, prop.FinalValue); } } }
void EvaluateProject (ProjectInfo pi, MSBuildEvaluationContext context) { context.InitEvaluation (pi.Project); var objects = pi.Project.GetAllObjects (); // If there is a .user project file load it using a fake import item added at the end of the objects list if (File.Exists (pi.Project.FileName + ".user")) objects = objects.Concat (new MSBuildImport {Project = pi.Project.FileName + ".user" }); EvaluateObjects (pi, context, objects, false); EvaluateObjects (pi, context, objects, true); }