This documentation is archived and is not being maintained.

MSBuild Best Practices

We recommend the following best practices for writing MSBuild scripts:

  • Default property values are best handled by using the Condition attribute, and not by declaring a property whose default value can be overridden on the command line. For example, use

    <MyProperty Condition="$(MyProperty) == ''>



  • Avoid wildcards when you select items. Instead, specify files explicitly. This makes it easier to track down errors that may occur when you add or delete files.