/// <summary> /// Sets a project property. /// </summary> /// <param name="propertyName">Name of the property to set.</param> /// <param name="value">Value of the property.</param> public virtual void SetProperty(string propertyName, string value) { ProjectProperty property = new ProjectProperty(this.ProjectMgr, propertyName); string oldValue = this.GetProperty(propertyName); if (!String.Equals(value, oldValue, StringComparison.Ordinal)) { property.SetValue(value, projectConfigs); this.IsDirty = true; } }
/// <summary> /// Gets a property value as a tri-state checkbox value. /// </summary> /// <param name="propertyName">Name of the property to get.</param> /// <returns>Boolean check state, or Indeterminate if the property is /// inconsistent across configurations.</returns> public virtual CheckState GetPropertyCheckState(string propertyName) { ProjectProperty property = new ProjectProperty(this.ProjectMgr, propertyName); bool? value = property.GetBooleanValue(projectConfigs); if (!value.HasValue) { return(CheckState.Indeterminate); } else { return(value.Value ? CheckState.Checked : CheckState.Unchecked); } }
public static bool ThreadSafeRemoveProperty(this Microsoft.Build.Evaluation.Project thisp, ProjectProperty property) { lock (thisp) { return(thisp.RemoveProperty(property)); } }
// ========================================================================================= // Public Methods // ========================================================================================= /// <summary> /// Gets a project property. /// </summary> /// <param name="propertyName">The name of the property to get.</param> /// <returns> /// Value of the property, or null if the property is unset or inconsistent across configurations. /// </returns> public virtual string GetProperty(string propertyName) { ProjectProperty property = new ProjectProperty(this.ProjectMgr, propertyName); return(property.GetValue(false, projectConfigs)); }