本文整理匯總了C#中MonoDevelop.Projects.MSBuild.MSBuildEvaluationContext.InitEvaluation方法的典型用法代碼示例。如果您正苦於以下問題:C# MSBuildEvaluationContext.InitEvaluation方法的具體用法?C# MSBuildEvaluationContext.InitEvaluation怎麽用?C# MSBuildEvaluationContext.InitEvaluation使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類MonoDevelop.Projects.MSBuild.MSBuildEvaluationContext
的用法示例。
在下文中一共展示了MSBuildEvaluationContext.InitEvaluation方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: EvaluateProject
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);
}
示例2: EvaluateProject
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);
}
}
}
示例3: EvaluateProject
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);
}