Engine Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Caution
This class has been deprecated. Please use Microsoft.Build.Evaluation.ProjectCollection from the Microsoft.Build assembly instead.
Represents the MSBuild engine.
public ref class Engine
public 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
[<System.Obsolete("This class has been deprecated. Please use Microsoft.Build.Evaluation.ProjectCollection from the Microsoft.Build assembly instead.")>]
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) |
Obsolete.
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 |
Obsolete.
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. |
GetLoadedProject(String) |
Returns the Project object that is associated with the specified project file. |
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. |
UnloadAllProjects() | |
UnloadProject(Project) |
Removes the reference to the specified Project from the Engine. |
UnregisterAllLoggers() |
Unregisters all loggers from the Engine. |