Microsoft.Build.Evaluation Namespace
Contains types that the MSBuild object model uses to evaluate projects. Each project is associated with one or more project roots. For information, see MSBuild.
| Class | Description | |
|---|---|---|
|
Project | Represents a project with design time semantics. This class can load project files, edit items and properties and build projects. |
|
ProjectCollection | Encapsulates a set of related projects, their toolsets, a default set of global properties, and the loggers that should be used to build them. A global version of this class acts as the default project collection. |
|
ProjectItem | Represents an evaluated design-time project item. |
|
ProjectItemDefinition | Represents an evaluated item definition for a particular item-type. |
|
ProjectMetadata | Represents evaluated design-time metadata. |
|
ProjectProperty | Represents an evaluated design-time property. |
|
Toolset | Represent an aggregation of a tools version (eg. "2.0"), tools path, and optional set of associated properties. |
| Structure | Description | |
|---|---|---|
|
ResolvedImport | Encapsulates an import relationship in an evaluated project between a ProjectImportElement and the ProjectRootElement of the imported project. |
| Enumeration | Description | |
|---|---|---|
|
ProjectLoadSettings | Flags for controlling the project load. |
|
ToolsetDefinitionLocations | Flags for controlling the toolset initialization. |
See also Microsoft.Build.Construction
I wanted to analyze some project files to confirm that they followed certain rules. Rules of the form "This type of element must have that type of condition."
$0$0
$0
$0I first tried using Microsoft.Build.Evaluation.Project.ItemsIgnoringCondition but that didn't work - I couldn't examine the condition.$0
$0$0
$0
$0Turns out I needed Microsoft.Build.Construction.ProjectRootElement.Items to be able to examine what I wanted to see.$0
$0$0
$0
$0The Evaluation and Construction namespaces are both important, but they come at the project files from two different directions. Picking the right one for your problem is important.$0
- 6/28/2010
- Jay Bazuzi