Engine Class
Definition
Warning
This API is now obsolete.
Represents the MSBuild engine.
public ref class Engine
[System.Obsolete("This class has been deprecated. Please use Microsoft.Build.Evaluation.ProjectCollection from the Microsoft.Build assembly instead.")]
public class Engine
type Engine = class
Public Class Engine
- Inheritance
-
Engine
- Attributes
Examples
The following example creates an Engine object and uses the BuildProjectFile method to build a project file. The FileLogger class is used to log information to a file.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Build.BuildEngine;
namespace BuildAProjectCS
{
class Program
{
static void Main(string[] args)
{
// Instantiate a new Engine object
Engine engine = new Engine();
// Point to the path that contains the .NET Framework 2.0 CLR and tools
engine.BinPath = @"c:\windows\microsoft.net\framework\v2.0.xxxxx";
// Instantiate a new FileLogger to generate build log
FileLogger logger = new FileLogger();
// Set the logfile parameter to indicate the log destination
logger.Parameters = @"logfile=C:\temp\build.log";
// Register the logger with the engine
engine.RegisterLogger(logger);
// Build a project file
bool success = engine.BuildProjectFile(@"c:\temp\validate.proj");
//Unregister all loggers to close the log file
engine.UnregisterAllLoggers();
if (success)
Console.WriteLine("Build succeeded.");
else
Console.WriteLine(@"Build failed. View C:\temp\build.log for details");
}
}
}
Module Module1
'Add references to Microsoft.Build.Framework and
'Microsoft.Build.BuildEngine
Sub Main()
'Create a new Engine object
Dim engine As New Engine()
'Point to the path that contains the .NET Framework 2.0 CLR and tools
engine.BinPath = "c:\windows\microsoft.net\framework\v2.0.xxxxx"
'Instantiate a new FileLogger to generate a build log
Dim logger As New FileLogger()
'Set logfile parameter to indicate the log destination
logger.Parameters = "logfile=c:\temp\build.log"
'Register the logger with the engine
engine.RegisterLogger(logger)
'Build the project file
Dim success As Boolean = engine.BuildProjectFile("c:\temp\validate.proj")
'Unregister all loggers to close the log file
engine.UnregisterAllLoggers()
If success Then
Console.WriteLine("Build succeeded.")
Else
Console.WriteLine("Build failed. View C:\temp\build.log for details.")
End If
End Sub
End Module
Remarks
In a system of project-to-project dependencies, the Engine maintains the building projects, making it possible to avoid building the same target in the same project more than once in a given build.
Constructors
Engine() |
Initializes a new instance of the Engine class. |
Engine(BuildPropertyGroup) |
Initializes a new instance of the Engine class. |
Engine(BuildPropertyGroup, ToolsetDefinitionLocations) |
Initializes a new instance of the Engine class. |
Engine(BuildPropertyGroup, ToolsetDefinitionLocations, Int32, String) |
Initializes a new instance of the Engine class. |
Engine(String) |
Initializes a new instance of the Engine class that has the specified BinPath. |
Engine(ToolsetDefinitionLocations) |
Initializes a new instance of the Engine class. |
Properties
BinPath |
Gets or sets the path to MSBuild.exe. |
BuildEnabled |
Gets or sets a value that indicates whether the building of targets in the project is enabled. |
DefaultToolsVersion |
The default ToolsVersion of this build engine. |
GlobalEngine | |
GlobalProperties |
Gets or sets a collection of the global properties for the project. |
IsBuilding |
Gets whether a project is currently being built. |
OnlyLogCriticalEvents |
Gets or sets a value that indicates whether to only log critical events, such as warnings and errors, during the build. |
Toolsets |
Gets or sets the collection of Toolsets that are recognized by this build engine instance. |
Version |
Gets the version of the Engine. |
Methods
BuildProject(Project) |
Builds the specified Project. |
BuildProject(Project, String) |
Builds the specified target of the specified Project. |
BuildProject(Project, String[]) |
Builds the specified targets of the specified Project. |
BuildProject(Project, String[], IDictionary) |
Builds the specified targets of the specified Project, and returns the outputs of the targets. |
BuildProject(Project, String[], IDictionary, BuildSettings) |
Builds the specified targets of the specified Project with the specified BuildSettings, and returns the outputs of the targets. |
BuildProjectFile(String) |
Loads the specified project file and builds the project. |
BuildProjectFile(String, String) |
Loads the specified project file and builds the specified target of the project. |
BuildProjectFile(String, String[]) |
Loads the specified project file and builds the specified targets of the project. |
BuildProjectFile(String, String[], BuildPropertyGroup) |
Loads the specified project file and builds the specified targets of the project with the specified GlobalProperties, and returns the outputs of the targets. |
BuildProjectFile(String, String[], BuildPropertyGroup, IDictionary) |
Loads the specified project file and builds the specified targets of the project with the specified GlobalProperties, and returns the outputs of the targets. |
BuildProjectFile(String, String[], BuildPropertyGroup, IDictionary, BuildSettings) |
Loads the specified project file and builds the specified targets of the project with the specified BuildSettings and GlobalProperties, and returns the outputs of the targets. |
BuildProjectFile(String, String[], BuildPropertyGroup, IDictionary, BuildSettings, String) |
Loads a project file from disk and builds the given targets. |
BuildProjectFiles(String[], String[][], BuildPropertyGroup[], IDictionary[], BuildSettings, String[]) |
Loads a set of project files from disk and then builds the given list of targets for each project. |
CreateNewProject() |
Creates an empty Project object that is associated with this Engine. |
Equals(Object) |
Determines whether the specified object is equal to the current object. (Inherited from Object) |
GetHashCode() |
Serves as the default hash function. (Inherited from Object) |
GetLoadedProject(String) |
Returns the Project object that is associated with the specified project file. |
GetType() |
Gets the Type of the current instance. (Inherited from Object) |
MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
RegisterDistributedLogger(ILogger, LoggerDescription) |
Registers distributed loggers with the build engine. |
RegisterLogger(ILogger) |
Registers the specified logger with the Engine. |
Shutdown() |
Called when the host is finished with this build engine. It unregisters loggers and shuts down nodes. |
ToString() |
Returns a string that represents the current object. (Inherited from Object) |
UnloadAllProjects() | |
UnloadProject(Project) |
Removes the reference to the specified Project from the Engine. |
UnregisterAllLoggers() |
Unregisters all loggers from the Engine. |