Share via


Rule Class

Used to represent the schema information for a Tool, a Custom Build Rule, a PropertyPage, and so on.

MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.

Inheritance Hierarchy

System.Object
  Microsoft.Build.Framework.XamlTypes.RuleSchema
    Microsoft.Build.Framework.XamlTypes.Rule

Namespace:  Microsoft.Build.Framework.XamlTypes
Assembly:  Microsoft.Build.Framework (in Microsoft.Build.Framework.dll)

Syntax

'Declaration
<ContentPropertyAttribute("Properties")> _
Public NotInheritable Class Rule _
    Inherits RuleSchema _
    Implements ISupportInitialize, IProjectSchemaNode
[ContentPropertyAttribute("Properties")]
public sealed class Rule : RuleSchema, ISupportInitialize, 
    IProjectSchemaNode
[ContentPropertyAttribute(L"Properties")]
public ref class Rule sealed : public RuleSchema, 
    ISupportInitialize, IProjectSchemaNode
[<Sealed>]
[<ContentPropertyAttribute("Properties")>]
type Rule =  
    class 
        inherit RuleSchema 
        interface ISupportInitialize 
        interface IProjectSchemaNode 
    end
public final class Rule extends RuleSchema implements ISupportInitialize, IProjectSchemaNode

The Rule type exposes the following members.

Constructors

  Name Description
Public method Rule Default constructor. Required for deserialization from a persisted format.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.

Top

Properties

  Name Description
Public property AdditionalInputs When this Rule represents a Build Customization, this field defines the semicolon-separated list of additional inputs to be evaluated for the Build Customization target.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public property Categories Gets or sets the list of Category categories that the properties in this Rule belong to.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public property CommandLine When this Rule represents a Build Customization, this field represents the command-line template to be used by a Build Customization task to invoke the tool.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public property DataSource The DataSource for the properties in this Rule. This is overridden by any data source that is defined locally for a property.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public property Description Gets or sets a description of this Rule for use by a prospective UI client.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public property DisplayName Gets or sets a name that can be used by a prospective UI client to display this BaseProperty.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public property EvaluatedCategories Returns the union of XAML specified Category categories and auto-generated Category categories. The latter are created from any missing categories that are referred to by the properties in this Rule. The auto-generated Category categories only have their names set.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public property ExecutionDescription When this Rule represents a Build Customization, this field represents the message to be displayed before a Build Customization is executed during the build.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public property FileExtension When this Rule represents a Build Customization, this field represents the file name extension to associate.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public property HelpString Gets or sets Help information for this Rule.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public property Metadata Gets or sets arbitrary metadata that may be set on a rule.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public property Name The name of this Rule.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public property Order Gets or sets a suggestion to a prospective UI client for the relative location of this Rule compared to all other Rules in the system.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public property Outputs When this Rule represents a Build Customization, this field defines the semicolon-separated list of outputs that are to be evaluated for the Build Customization target.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public property OverrideMode Gets or sets the method to use when multiple rules with the same name appear in the project to reconcile the rules into one instance.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public property PageTemplate Gets or sets the UI rendering template that is used to display this Rule.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public property Properties Gets or sets the list of properties in this Rule. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public property PropertyPagesHidden Gets or sets a flag indicating whether property pages for this rule are hidden.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public property Separator Gets or sets a token that is used to separate a property switch from its value.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public property ShowOnlyRuleProperties Gets or sets a flag that determines whether to hide the command-line category. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public property SupportsFileBatching Gets or sets a flag that determines whether multiple files can be batched on one command-line invocation.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public property SwitchPrefix Gets or sets the prefix to use for all property switches in this Rule for the case when this property Rule represents a tool.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public property ToolName Gets or sets the name of the tool when this rule represents a tool.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.

Top

Methods

  Name Description
Public method BeginInit See BeginInit.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public method EndInit See EndInit.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public method Equals (Inherited from Object.)
Public method GetHashCode (Inherited from Object.)
Public method GetPropertiesByCategory Returns a dictionary of all properties partitioned into categories. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public method GetPropertiesInCategory Returns the list of properties in a Category. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public method GetProperty Gets the property with the specified name.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public method GetSchemaObjects Returns an enumerator over all instances of static data that have the given type. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public method GetSchemaObjectTypes Returns an enumerator over all types of static data for the data-driven features that this node contains.MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Public method GetType (Inherited from Object.)
Public method ToString (Inherited from Object.)

Top

Remarks

Typically represented on disk as XAML, only one instance of this class is maintained per XAML file per project engine (solution).

If you manually instantiate this class, call BeginInit before you set the first property of the object and EndInit after you set the last property.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Microsoft.Build.Framework.XamlTypes Namespace