Microsoft.Build.Utilities.v4.0 Provides the same functionality as , but also derives from so that it can be instantiated in its own app domain. Initializes a new instance of the class. Initializes a new instance of the class and allows derived classes to register their resources. The task resources. Initializes a new instance of the class and allows derived classes to register their resources, as well as provide a prefix for composing help keywords from string resource names. The task resources. The Help keyword prefix. Gets or sets the build engine interface that is available to tasks. The that is available to tasks. Runs the task. if successful; otherwise, . Gets or sets the prefix that is used to compose Help keywords from string resource names. A that is used to compose Help keywords. This value can be . Gets or sets a host object instance that is associated with the derived . The host object instance that is associated with the derived . This value can be . When overridden in a derived class, gives tasks infinite lease time. to specify an infinite lifetime. Gets an instance of a task logging helper object that contains task logging methods. A that contains task logging methods. Gets or sets culture-specific resources of the derived . A that is a culture-specific resource of the derived . This value can be . Contains information about entries in the AssemblyFoldersEx registry keys. Creates a new instance of the class. Registry hive to use. Registry view to use. Registry key for the component. Registry keys default folder path. Target framework version for the registry key. Gets or sets the folder found at the registry keys default value. Returns path to the registry keys default folder. Gets or sets the registry hive. The registry hive. Gets or sets the registry key for the component. The registry key. Gets or sets the target framework version for the registry key. The target framework version. Gets or sets the registry view. The registry view. This class is the filetracking log interpreter for .read. tracking logs in canonical form or those that have been rooted (^) to make them canonical Constructor for a single input source file The task that is using file tracker The .read. tlog files to interpret The primary source file to interpret dependencies for The set of paths that contain files that are to be ignored during up to date check The output files produced by compiling this source WARNING: Minimal rebuild optimization requires 100% accurate computed outputs to be specified! True to keep composite rooting markers around (many-to-one case) or false to shred them (one-to-one or one-to-many case) Constructor for multiple input source files The task that is using file tracker The .read. tlog files to interpret The primary source files to interpret dependencies for The set of paths that contain files that are to be ignored during up to date check The output files produced by compiling this set of sources WARNING: Minimal rebuild optimization requires 100% accurate computed outputs to be specified! True to keep composite rooting markers around (many-to-one case) or false to shred them (one-to-one or one-to-many case) Constructor for multiple input source files The task that is using file tracker The .read. tlog files to interpret The primary source files to interpret dependencies for The set of paths that contain files that are to be ignored during up to date check The output files produced by compiling this set of sources WARNING: Minimal rebuild optimization requires 100% accurate computed outputs to be specified! True to keep composite rooting markers around (many-to-one case) or false to shred them (one-to-one or one-to-many case) Constructor for multiple input source files The .read. tlog files to interpret The primary source files to interpret dependencies for The set of paths that contain files that are to be ignored during up to date check The output files produced by compiling this set of sources WARNING: Minimal rebuild optimization requires 100% accurate computed outputs to be specified! True to keep composite rooting markers around (many-to-one case) or false to shred them (one-to-one or one-to-many case) Constructor for multiple input source files The .read. tlog files to interpret The primary source files to interpret dependencies for The output files produced by compiling this set of sources WARNING: Minimal rebuild optimization requires 100% accurate computed outputs to be specified! True to keep composite rooting markers around (many-to-one case) or false to shred them (one-to-one or one-to-many case) This method computes the sources that need to be compiled based on the output files and the full dependency graph of inputs. Array of files that need to be compiled This method computes the sources that need to be compiled based on the output files and the full dependency graph of inputs, optionally searching composite rooting markers for subroots that may contain input files. If true, search composite rooting markers for subroots. Array of files that need to be compiled Gets the dependency table. The dependency table. Tests if the specified file is excluded from tracked dependency checking. Full path of the file to test if the file is excluded; otherwise, . Remove the output graph entries for the given sources and corresponding outputs. Source that should be removed from the graph Remove the output graph entries for the given sources and corresponding outputs. Source that should be removed from the graph Outputs that correspond ot the sources (used for same file processing) Remove the output graph entries for the given sources and corresponding outputs. Sources that should be removed from the graph Remove the output graph entries for the given sources and corresponding outputs. Sources that should be removed from the graph Outputs that correspond ot the sources (used for same file processing) Remove the output graph entries for the given source and corresponding outputs. Source that should be removed from the graph The dependency to remove. Remove the output graph entries for the given sources and corresponding outputs. Sources that should be removed from the graph The dependency to remove. Remove the output graph entries for the given sources and corresponding outputs. Source that should be removed from the graph Removes the output graph entries for the given sources and corresponding outputs. Sources that should be removed from the graph Removes the entry in the input dependency graph corresponding to a rooting. The root to remove. This method will re-write the tlogs from the current output table new entries will be tracked. This method will re-write the tlogs from the current dependency. As the sources are compiled, new entries willbe tracked. Delegate used to determine whether a particular file should be included in the compacted tlog. This class is the file tracking log interpreter for .write. tracking logs in canonical form Canoncial .write. logs need to be rooted, since the outputs need to be associated with an input. Constructor The task that is using file tracker The .write. tlog files to interpret Constructor The task that is using file tracker The .write. tlog files to interpret If true, construct outputs from tlog files. Constructor The .write. tlog files to interpret This method adds computed outputs for the given source key to the output graph The source to add outputs for The computed outputs for this source key. This method adds computed outputs for the given source key to the output graph. The source to add outputs for. The computed outputs for this source key. This method adds computed outputs for the given source key to the output graph. The source to add outputs for. The computed outputs for this source key. Gets the dependency table. The dependency table. This method determines the outputs for a source root (as in the contents of a rooting marker) The sources to find outputs for Array of outputs for the source This method determines the outputs for a source root (as in the contents of a rooting marker). The sources to find outputs for. Array of outputs for the source. This method determines the outputs for a source root (as in the contents of a rooting marker), optionally searching composite rooting markers for subroots that may contain output files. The sources to find outputs for. If true, search composite rooting markers for subroots. Array of outputs for the source. Remove the output graph entries for the given sources and corresponding outputs. Source that should be removed from the graph Remove the output graph entries for the given sources and corresponding outputs. Source that should be removed from the graph Outputs that correspond to the sources (used for same file processing) Remove the output graph entries for the given sources and corresponding outputs. Sources that should be removed from the graph Remove the output graph entries for the given sources and corresponding outputs. Sources that should be removed from the graph Outputs that correspond to the sources (used for same file processing) Remove the output graph entries for the given source and corresponding outputs. Source that should be removed from the graph The dependency to remove. Remove the output graph entries for the given sources and corresponding outputs. Sources that should be removed from the graph The dependency to remove. Remove the output graph entries for the given sources and corresponding outputs. Sources that should be removed from the graph Remove the output graph entries for the given sources and corresponding outputs. Sources that should be removed from the graph Outputs that correspond to the sources (used for same file processing) Remove the output graph entries for the given sources and corresponding outputs. Sources that should be removed from the graph Remove the output graph entries for the given sources and corresponding outputs. Sources that should be removed from the graph Outputs that correspond ot the sources (used for same file processing) Removes the specified output from the dependency graph for the given source file. The source root. The output path to be removed if the output path was removed; otherwise, . Removes any roots that share the same outputs as the rooting from the dependency graph. The set of sources that form the rooting markers to be removed. An array of the rooting markers that were removed. This method will re-write the tlogs from the current output table. New entries will be tracked. This method will re-write the tlogs from the current output table. New entries will be tracked. The dependency filter. Comprises utility methods for constructing a command line. Initializes a new instance of the class. Default constructor If true, hyphens should be quoted. Appends the command line with the file name of the specified object. The task item specification to append to the command line. If it is , then this method has no effect. Appends the command line with file name represented by the parameter, inserting quotation marks if necessary. The file name to append. If it is , then this method has no effect. Appends the command line with the list of file names in the specified array, separated by the specified delimiter. The task item specifications to append. If the array is , then this method has no effect. The delimiter to put between task item specifications in the command line. Appends the command line with the list of file names in the specified array, separated by the specified delimiter. The file names to append. If the array is , then this method has no effect. The delimiter to put between file names in the command line. Appends the command line with a file name, and surrounds the file name with quotation marks as necessary. The file name to append. Appends given text to the buffer after first quoting the text if necessary. The buffer to append to. The text to be quoted. Adds a space to the specified string, given the string is not empty. Appends the command line with the specified switch. The name of the switch to append to the command line. This value cannot be . Appends the command line with a switch that takes a task item specification that acts a single string parameter. The name of the switch to append to the command line. This value cannot be . The switch parameter to append to the command line. Quotation marks will be added as necessary. If this value is , then this method has no effect. Appends the command line with a switch that takes an array of task item specifications that act as string parameters. The name of the switch to append to the command line. This value cannot be . An array of switch parameters to append to the command line. Quotation marks will be added as necessary. If the array is , then this method has no effect. The delimiter that separates individual parameters. This value can be empty, but it cannot be . Appends the command line with a switch that takes a single string parameter. The name of the switch to append to the command line. This value cannot be . The switch parameter to append to the command line. Quotation marks will be added as necessary. If this value is , then this method has no effect. Appends the command line with a switch that takes an array of string parameters. The name of the switch to append to the command line. This value cannot be . An array of switch parameters to append to the command line. Quotation marks will be added as necessary. If the array is , then this method has no effect. The delimiter that separates individual parameters. This value can be empty, but it cannot be . Appends the command line with a switch that takes a task item specification as a single string parameter, without attempting to encapsulate the switch parameter with quotation marks. The name of the switch to append to the command line. This value cannot be . The switch parameter to append to the command line. Quotation marks will not be added. If this value is , then this method has no effect. Appends the command line with a switch that takes an array of task item specifications that act as string parameters, without attempting to encapsulate them with quotation marks. The name of the switch to append to the command line. This value cannot be . An array of switch parameters to append to the command line. Quotation marks will not be added. If the array is , then this method has no effect. The delimiter that separates individual parameters. This value can be empty, but it cannot be . Appends the command line with a switch that takes a single string parameter, without attempting to encapsulate the switch parameter with quotation marks. The name of the switch to append to the command line. This value cannot be . The switch parameter to append to the command line. Quotation marks will not be added. If this value is , then this method has no effect. Appends the command line with a switch that takes an array of string parameters, without attempting to encapsulate switch parameters with quotation marks. The name of the switch to append to the command line. This value cannot be . An array of switch parameters to append to the command line. Quotation marks will not be added. If the array is , then this method has no effect. The delimiter that separates individual parameters. This value can be empty, but it cannot be . Appends the command line with string, without attempting to encapsulate the string with quotation marks. The string to append to the command line. Appends the command line with string, and surrounds the string with quotations marks as necessary. The string to append to the command line. Gets the instance representing the command line for inheriting classes. A for inheriting classes. Determines whether the specified string parameter should be surrounded with quotation marks because it contains white space. The string to examine for characters that require quotation marks. , if the switch parameter should be surrounded with quotation marks; otherwise, . Represents the length of the command line. Returns the command line as a string. A that represents the command line. Returns an error if the command line parameter contains a double-quote (") character. Because double quotes are illegal in command line parameters, this method helps prevent parameter injection attacks. A string representing the switch name for the error message. A string representing the switch parameter to scan for double-quotes. Dependency filter delegate. Used during TLog saves in order for tasks to selectively remove dependencies from the written graph. The full path to the dependency file about to be written to the compacted TLog If the file should actually be written to the TLog (true) or not (false) Used to specify the targeted bitness of the .NET Framework for some methods of ToolLocationHelper Indicates the 32-bit .NET Framework Indicates the 64-bit .NET Framework Indicates the .NET Framework that is currently being run under. Enumeration to express the type of executable being wrapped by Tracker.exe A managed executable specifically marked as 32-bit A managed executable specifically marked as 64-bit A managed executable without a specified bitness 32-bit native executable 64-bit native executable Use the same bitness as the currently running executable. This class contains utility functions to encapsulate launching and logging for the Tracker Given a set of source files in the form of ITaskItem, creates a temporary response file containing the rooting marker that corresponds to those sources. The set of source files. The response file path. Given a rooting marker, creates a temporary response file with that rooting marker in it. The rooting marker to put in the response file. The response file path. Stops tracking file accesses. Prepends the path to the appropriate FileTracker assembly to the PATH environment variable. Used for inproc tracking. The old value of the PATH environment variable. Prepends the path to the appropriate FileTracker assembly to the PATH environment variable. Used for inproc tracking, or when the .NET Framework may not be on the PATH. The root path for FileTracker.dll. Overrides the toolType if specified. The old value of PATH Checks if the specified file is excluded from tracked dependencies. Full path of the file to test if the file is excluded; otherwise, . Checks if the specified file is under the specified path Full path of the file to test The path that might contain the file. if the file is under the path; otherwise, . Searches %PATH% for the location of Tracker.exe, and returns the first path that matches.Matching full path to Tracker.exe or null if a matching path is not found. The path to Tracker.exe. Determines whether we must track out-of-proc, or whether inproc tracking will work. The executable type for the tool being tracked True if we need to track out-of-proc, false if inproc tracking is OK Determines whether we must track out-of-proc, or whether inproc tracking will work. The executable type for the tool being tracked The tool being tracked. The name of the cancel event tracker should listen for, or null if there isn't one True if we need to track out-of-proc, false if inproc tracking is OK Construct a rooting marker string from the ITaskItem array of primary sources. The primary sources. The marker string. Construct a rooting marker string from the ITaskItem array of primary sources. The primary sources. The output files. The marker string. Construct a rooting marker string from the ITaskItem array of primary sources. ITaskItem array of primary sources. The marker string. Construct a rooting marker string from the ITaskItem array of primary sources. ITaskItem array of primary sources. The output files. The marker string. Given the ExecutableType of the tool being wrapped and information that we know about our current bitness, figures out and returns the path to the correct FileTracker.dll. The ExecutableType of the tool being wrapped. The path of the tool. Given the ExecutableType of the tool being wrapped and information that we know about our current bitness, figures out and returns the path to the correct FileTracker.dll. The toolType. The root path for FileTracker.dll. Overrides the toolType if specified. Returns . Given the ExecutableType of the tool being wrapped and information that we know about our current bitness, figures out and returns the path to the correct Tracker.exe. The ExecutableType of the tool being wrapped. The tracker path. Given the ExecutableType of the tool being wrapped and information that we know about our current bitness, figures out and returns the path to the correct Tracker.exe. The toolType. The root path for Tracker.exe. Overrides the toolType if specified. Returns . Resume tracking file accesses in the current tracking context. Set the global thread count, and assign that count to the current thread. The thread count. Start the process; tracking the command. The command to track The command to track's arguments The type of executable the wrapped tool is The process instance. Start the process; tracking the command. The command to track The command's arguments The type of executable the wrapped tool is Rooting marker The process instance. Start the process; tracking the command. The command to track The command to track's arguments The type of executable the wrapped tool is Intermediate directory where tracking logs will be written Rooting marker The process instance. Start the process; tracking the command. The command to track The command to track's arguments The type of executable the wrapped tool is The name of the dll that will do the tracking Intermediate directory where tracking logs will be written Rooting marker Process instance Start the process; tracking the command. The command to track The command to track's arguments The type of executable the wrapped tool is The name of the dll that will do the tracking Intermediate directory where tracking logs will be written Rooting marker If Tracker should be listening on a particular event for cancellation, pass its name here Process instance Starts tracking file accesses. The directory into which to write the tracking log files The name of the task calling this function, used to determine the names of the tracking log files Starts tracking file accesses, using the rooting marker in the response file provided. To automatically generate a response file given a rooting marker, call FileTracker.CreateRootingMarkerResponseFile. The directory into which to write the tracking log files The name of the task calling this function, used to determine the names of the tracking log files The rooting marker in the response file. Stop tracking file accesses and get rid of the current tracking contexts. Temporarily suspend tracking of file accesses in the current tracking context. This method constructs the correct Tracker.exe arguments from its parameters. The command to track The command to track's arguments The name of the dll that will do the tracking Intermediate directory where tracking logs will be written Rooting marker The arguments as a string This method constructs the correct Tracker.exe arguments from its parameters. The command to track The command to track's arguments The name of the dll that will do the tracking Intermediate directory where tracking logs will be written Rooting marker If a cancel event has been created that Tracker should be listening for, its name is passed here The arguments as a string This method constructs the correct Tracker.exe command arguments from its parameters The command to track The command to track's arguments The arguments as a string This method constructs the correct Tracker.exe response file arguments from its parameters. The name of the dll that will do the tracking Intermediate directory where tracking logs will be written Rooting marker The arguments as a string This method constructs the correct Tracker.exe response file arguments from its parameters. The name of the dll that will do the tracking Intermediate directory where tracking logs will be written Rooting marker If a cancel event has been created that Tracker should be listening for, its name is passed here The arguments as a string Write tracking logs for all contexts and threads. The directory into which to write the tracking log files The name of the task calling this function, used to determine the names of the tracking log files Write tracking logs corresponding to the current tracking context. The directory into which to write the tracking log files The name of the task calling this function, used to determine the names of the tracking log files This class is used to track file dependencies during a build. Constructor The task that is using file tracker The tlog files to interpret Ignore files that do not exist on disk Constructor The task that is using file tracker The tlog files to interpret The DateTime that should be recorded for missing file. Constructor The .write. tlog files to interpret The TLogs to ignore. The DateTime that should be recorded for missing file. Constructor The .tlog files to interpret The .tlog files to ignore The date and time that should be recorded for missing file. The set of paths that contain files to be ignored, including any subdirectories. Cache to be used which can be shared between multiple FlatTrackingData instances. Constructor The .write. tlog files to interpret Ignore files that do not exist on disk Constructor The .write. tlog files to interpret The DateTime that should be recorded for missing file. Gets the dependency table. The dependency table. Returns if the specified file is excluded from tracked dependency checking. Name of the file to test. if the file is excluded. Compact and finalize the Tlogs based on the success of the tracked execution. True indicates that tracked operations succeeded. TLogs to be read. TLogs to be written. Tracked files to be removed from TLogs. Returns cached value for last write time of file. Updates the cache the first time the file is checked. Name of the file the last write time of the file. Checks if the tracking data indicates that everything is up to date according to UpToDateCheckType. The host task. UpToDateCheckType The array of read tlogs The array of write tlogs if everything is up to date; otherwise, . Checks if state is up-to-date state according to the tracking data and the UpToDateCheckType. TaskLoggingHelper from the host task UpToDateCheckType to use FlatTrackingData structure containing the inputs FlatTrackingData structure containing the outputs if everything is up to date; otherwise, . Gets or sets the missing files that have been detected in the TLog. The missing files that have been detected in the TLog. Gets or sets the path for the newest file seen. The path for the newest file seen. Gets or sets the time for the newest file seen. The time for the newest file seen. Gets or sets the UTC time for the newest file seen. The UTC time for the newest file seen. Gets or sets the path of the newest TLog file. The path of the newest TLog file. Gets or sets the time of the newest Tlog. The time of the newest Tlog. Gets or sets the UTC time of the newest Tlog. The time of the newest Tlog. Gets or sets the path for the oldest file seen. The path for the oldest file seen. Gets or sets the time for the oldest file seen. The time for the oldest file seen. Gets or sets the UTC time for the oldest file seen. The UTC time for the oldest file seen. This method will re-write the tlogs from the output table. This method will re-write the tlogs from the current table The dependency filter. Gets or sets a value that indicates whether files in the TLog that no longer exist should be skipped or recorded. to skip missing files; to record them. Gets or sets the TLog files that back this structure. The TLog files that back this structure. Gets or sets a value that indicates whether all the TLogs that were passed are available on disk. if all the TLogs that were passed are available on disk; otherwise, . Gets or sets a switch that specifies whether root markers in the TLog be treated as file accesses, or only as markers. Returns a switch that specifies whether root markers in the TLog be treated as file accesses, or only as markers. Update the current state of entry details for the dependency table Defines the next action for after an attempt to initialize the host object. Indicates that some of the parameters being passed into the task are invalid, and that the task should fail immediately. Indicates that the host object is up to date, and that no further action is necessary. Indicates that either a host object is not available, or that the host object is not capable of supporting all of the features required for this build. Therefore, should fallback to an alternate means of doing the build, such as invoking the command-line tool. Indicates that an appropriate host object for this task exists, which can support all of the parameters passed in and should be invoked to do the real work of the task. When overridden in a derived form, provides functionality for loggers that handle events raised by the MSBuild engine. Initializes a new instance of the class. Generates an error message that is in the default format, from a object. The arguments of the error event. A that represents an error message in canonical format. Generates a warning message that is in the default format, from a object. The arguments of the warning event. A that represents a warning message in canonical format. When overridden in a derived class, subscribes the logger to specific events. The available events that a logger can subscribe to. Determines whether the current setting is at least the value that is passed in. The logger verbosity setting passed in. if the current logger verbosity setting is at least the value that is passed in; otherwise, . Gets or sets the user-defined parameters of the logger. The logger parameters. This value can be . When overridden in a derived class, releases the resources allocated to the logger at the time of initialization or during the build. Gets or sets the level of detail to show in the event log. One of the enumeration values. The default is . Represents a multiplexing logger. The purpose of this logger is to register and unregister multiple loggers during the build. Supports the Visual Studio IDE scenario in which loggers are registered and unregistered for each project system's build request. One physical build can have multiple logical builds, each with its own set of loggers. The registers itself with the build manager as a regular central /l style logger. It receives messages from the build manager and routes them to the correct logger, based on the logical build that the message came from. Creates a new instance of the multiplexing logger. Initialize the instance with the specified event source. The event source. Initialize the instance with the specified event source and specified maximum number of nodes. The event source. The maximum number of nodes. Gets or sets the Parameters attribute, required by the interface. The Parameters attribute. Registers a logger on the and raises a build-started event if the build-started event has already been logged. The submission ID of the logger being registered. The logger to register. Shuts down the and clears out any state. Removes the specified logger from the MuxLogger. The submission ID of the logger to be removed. if the method is successful in removing the logger; otherwise, . Gets or sets the Verbosity attribute, required by the interface. The Verbosity attribute. Determines the correct tool in the Toolset that MSBuild should use, based on the current system's processor architecture. Represents the AMD64 processor. Represents an ARM processor. Gets the current processor architecture of the system. A string containing the processor architecture value. Represents the IA64 processor. Represents MSIL. Represents an x86 processor. Specifies the version of the .NET Framework to use with the methods in . Specifies .NET Framework version 1.1. Specifies .NET Framework version 2.0. Specifies .NET Framework version 3.0. Specifies .NET Framework version 3.5. version 4.0 version 4.5 Specifies the most recent released version of the .NET Framework. Represents a target platform SDK. Creates a new instance of a target platform SDK class. The identifier of the target platform. The version of the target platform. The path to the target platform SDK. Ensures equality between target platform SDKs. Target platform SDK to compare to this element. if items are equal; otherwise, . Ensures equality between target platform SDK and object. Object to compare to this element. if items are equal; otherwise, . Gets the hash code for the target platform SDK. A hash code. Gets or sets the Path to the target platform SDK. The path to the target platform SDK. Gets or sets the target platform SDK identifier. The target platform SDK identifier. Gets or sets the version of the target platform. The target platform version. When overridden in a derived form, provides functionality for tasks. Initializes a new instance of the class. Initializes a new instance of the class with the specified . The task resources. Initializes a new instance of the class with the specified and . The task resources. The prefix to append to string resources to create Help keywords. Gets or sets the instance of the object used by the task. The available to tasks. Gets the instance of the object used by the task. The available to tasks. Gets the instance of the object used by the task. The available to tasks. Gets the instance of the object used by the task. The available to tasks. When overridden in a derived class, executes the task. if the task successfully executed; otherwise, . Gets or sets the prefix used to compose Help keywords from resource names. The prefix used to compose Help keywords from resource names. Gets or sets the host object associated with the task. The host object associated with the task. This value can be . Gets an instance of a class containing task logging methods. The logging helper object. Gets or sets the culture-specific resources associated with the task. The culture-specific resources associated with the task. This value can be . Defines a single item of the project as it is passed into a task. Initializes a new instance of the class. Initializes a new instance of the class using the specified source . The item to copy. Initializes a new instance of the class using the specified item-specification string. The item specification. Initializes a new instance of the class using the specified item-specification string and its metadata. The item specification. The custom metadata for the item specification. Clones the collection of custom metadata for the item specification. An that represents a clone of the custom metadata. Copies the item-specification metadata to the specified destination task item. The item that this method will copy metadata to. Retrieves the specified metadata on the item. The name of the metadata to retrieve. A that represents the metadata value. When overridden in a derived class, gives task items infinite lease time. to specify an infinite lifetime. Gets or sets the item specification. A that represents the item specification. Gets the number of metadata set on the item. An that represents the count of metadata set on the item. Gets the names of all the metadata on the item. An of metadata names. implementation which returns a clone of the metadata on this object. Values returned are in their original escaped form. The cloned metadata, with values' escaping preserved. implementation which gets or sets the item include value. For disk-based items this would be the file path. The item include value. implementation which allows the values of metadata on the item to be queried. The metadata to be queried The escaped metadata value. implementation which allows a piece of custom metadata to be set on the item. Assumes that the value passed in is unescaped, and escapes the value as necessary in order to maintain its value. The metadata name. The metadata value. Allows an explicit type cast from a to a , and returns the for that item. The item to operate on. The for the item. Removes the specified metadata on the item. The name of metadata to remove. Sets or modifies the value of the specified metadata on the item. The name of metadata to set or modify. The new value of metadata. Gets the item specification. A that represents the item specification. Provides helper logging methods used by tasks. Public constructor which can be used by task factories to assist them in logging messages. The build engine. The task name. Initializes a new instance of the class and associates it with the specified task instance. The task containing an instance of this task. Gets the build engine that is associated with the task. An that represents the instance of the build engine that is associated with the task. Extracts the message code prefix from the given full message string. The full message to parse that includes code prefix. The message with the code prefix removed. The message code prefix that is extracted from the full message string, or if there is no message code. is . Loads the specified resource string and optionally formats it using the given arguments. The name of the string resource to load. Optional arguments for formatting the loaded string. The formatted string. The string resource indicated by does not exist. The property of the owner task is not set. is . Formats the given string using the given arguments. The string to format. Arguments for formatting. The formatted string. is . Gets the message from resource in task library. The resource name. The message from resource in task library. Gets a value that indicates whether the task has logged any errors through this logging helper object. if the task has logged any errors through this logging helper object; otherwise, . Gets or sets the prefix used to compose Help keywords from resource names. The prefix used to compose Help keywords from resource names. InitializeLifetimeService is called when the remote object is activated. This method will determine how long the lifetime for the object will be. Thread safe. However, InitializeLifetimeService and MarkAsInactive should only be called in that order, together or not at all, and no more than once. The lease object to control this object's lifetime. Logs the command line for an underlying tool, executable file, or shell command of a task using the specified importance level. One of the values of that indicates the importance level of the command line. The command line string. Logs the command line for an underlying tool, executable file, or shell command of a task. The command line string. Logs a critical message using the specified string and other message details. Thread safe. Description of the warning type (can be null). Message code (can be null). The help keyword for the host IDE (can be null). The path to the file causing the message (can be null). The line in the file causing the message (set to zero if not available). The column in the file causing the message (set to zero if not available). The last line of a range of lines in the file causing the message (set to zero if not available). The last column of a range of columns in the file causing the message (set to zero if not available). The message string. Optional arguments for formatting the message string. Thrown when is null. Logs an error with the specified message. The message. Optional arguments for formatting the message string. is . Logs an error using the specified message and other error details. The description of the error type. The error code. The Help keyword to associate with the error. The path to the file containing the error. The line in the file where the error occurs. The column in the file where the error occurs. The end line in the file where the error occurs. The end column in the file where the error occurs. The message. Optional arguments for formatting the message string. is . Logs an error using the message from the given exception. The exception to log. is . Logs an error using the message, and optionally the stack trace, from the given exception. The exception to log to include the stack trace in the log; otherwise, . is . Logs an error using the message, and optionally the stack-trace from the given exception and any inner exceptions. The exception to log. to include the stack trace in the log; otherwise, . to log exception types and any inner exceptions; otherwise, . The name of the file related to the exception, or if the project file should be logged. is . Logs an error using the specified resource string. The name of the string resource to load. The arguments for formatting the loaded string. is . Logs an error using the specified resource string and other error details. The name of the string resource that describes the error type. The error code. The Help keyword to associate with the error. The path to the file containing the error. The line in the file where the error occurs. The column in the file where the error occurs. The end line in the file where the error occurs. The end column in the file where the error occurs. The name of the string resource to load. The arguments for formatting the loaded string. is . Logs an error with an error code using the specified resource string. The name of the string resource to load. The arguments for formatting the loaded string. is . Logs an error using the specified resource string and other error details. The name of the string resource that describes the error type. The path to the file containing the error. The line in the file where the error occurs. The column in the file where the error occurs. The end line in the file where the error occurs. The end column in the file where the error occurs. The name of the string resource to load. The arguments for formatting the loaded string. is . Helps log the custom build event. The text message. The help keyword. The name of the project. to indicate that project was built successfully; otherwise, . Helps log the custom build event. The text message. The help keyword. The name of the project. The targets to build. An empty string indicates default targets. Logs a message with the specified string and importance. One of the enumeration values that specifies the importance of the message. The message. The arguments for formatting the message. is . Logs a message with the specified string. The message. The arguments for formatting the message. is . Logs a message using the specified string and other message details. Thread safe. Description of the warning type (can be null). Message code (can be null) The help keyword for the host IDE (can be null). The path to the file causing the message (can be null). The line in the file causing the message (set to zero if not available). The column in the file causing the message (set to zero if not available). The last line of a range of lines in the file causing the message (set to zero if not available). The last column of a range of columns in the file causing the message (set to zero if not available). Importance of the message. The message string. Optional arguments for formatting the message string. Thrown when is null. Logs a message with the specified resource string and importance. One of the enumeration values that specifies the importance of the message. The name of the string resource to load. The arguments for formatting the loaded string. is . Logs a message with the specified resource string. The name of the string resource to load. The arguments for formatting the loaded string. is . Logs an error message or warning from the given line of text. The line of text to log from. One of the values of that indicates the importance level of the command line. if an error was logged; otherwise, . is . Logs errors, warnings, and messages for each line of text in the given file. The name of the file to log messages from. to indicate at least one error was logged; otherwise, . is . Logs errors, warnings, and messages for each line of text in the given file. Also logs the importance of messages. The name of the file to log messages from. One of the enumeration values that specifies the importance of logged messages. to indicate at least one error was logged; otherwise, . Thrown when filename is null. Logs an error message or warning from the given stream. A that reads the stream to log from. One of the values of that indicates the importance level of the command line. if an error was logged; otherwise, . is . Logs a warning with the specified message. The message. Optional arguments for formatting the message string. is . Logs a warning using the specified message and other warning details. The description of the warning type. The warning code. The Help keyword to associate with the warning. The path to the file containing the warning. The line in the file where the warning occurs. The column in the file where the warning occurs. The end line in the file where the warning occurs. The end column in the file where the warning occurs. The message. Optional arguments for formatting the message string. is . Logs a warning using the message from the specified exception. The exception to log. is . Logs a warning using the message, and optionally the stack trace, from the given exception. The exception to log to include the stack trace in the log; otherwise, . is . Logs a warning using the specified resource string. The name of the string resource to load. The arguments for formatting the loaded string. is . Logs a warning using the specified resource string and other warning details. The name of the string resource that describes the warning type. The warning code. The Help keyword to associate with the warning. The path to the file containing the warning. The line in the file where the warning occurs. The column in the file where the warning occurs. The end line in the file where the warning occurs. The end column in the file where the warning occurs. The name of the string resource to load. The arguments for formatting the loaded string. is . Logs a warning with a warning code using the specified resource string. The name of the string resource to load. The arguments for formatting the loaded string. is . Logs a warning with a warning code using the specified resource string and other warning details. The name of the string resource that describes the warning type. The path to the file containing the warning. The line in the file where the warning occurs. The column in the file where the warning occurs. The end line in the file where the warning occurs. The end column in the file where the warning occurs. The name of the string resource to load. The arguments for formatting the loaded string. is . Notifies this that it is no longer needed. Gets the name of the parent task. The name of the parent task. Gets or sets the culture-specific resources used by the logging methods. A that represents the culture-specific resources used by the logging methods. This value can be . Provides utility methods for locating .NET Framework and .NET Framework SDK files and directories. Clears the appDomain wide cache of platform and extension SDKs. Gets a sorted list of objects that contain information about the directories in which the third party assemblies are registered. This information is used at build and design time. The root registry location for the targeted framework. For .NET this is SOFTWARE\MICROSOFT\.NETFramework. The target framework version (2.0, 3.0, 3.5, 4.0, etc.). The name of the folder, (AssemblyFoldersEx) could also be PocketPC\AssemblyFoldersEx, or others. The targeted minimum and maximum OS versions in the registry. These values are used to return only directories for OS versions between the declared minimum and maximum. If this value is blank or null, no filtering is done. The targeted platform GUIDs. Used to return only directories which have a matching platform GUID. If this value is blank or null no filtering is done. The targeted processor architecture. This determines which registry hives are searched and in which order. Returns list of . Creates a display name given the target framework details. The target framework directory. The framework name. A display name given the target framework details. Gets the full name of the .NET Framework root registry key. The version of the .NET Framework to target. A string containing the full name of the .NET Framework root registry key. Gets the name of the value under the that contains the .NET Framework SDK installation path. The version of the .NET Framework to target. A string containing the name of the registry key value under the that contains the .NET Framework SDK installation path. Name of the value of GetDotNetFrameworkRootRegistryKey that contains the SDK install root path Version of the targeted .NET Framework Version of Visual Studio the requested SDK is associated with Returns . Returns the full name of the .NET Framework SDK root registry key. Version of the targeted .NET Framework A string representation of the registry key root which indicates where to find the .NETFramework sdk. Returns the full name of the .NET Framework SDK root registry key Version of the targeted .NET Framework Version of Visual Studio the requested SDK is associated with Returns . Gets the prefix of the .NET Framework folder. The version of the .NET Framework to target. The prefix of the .NET Framework folder. Gets a fully qualified path to the .NET Framework root directory. The version of the .NET Framework to target. A string containing the fully qualified path to the .NET Framework root directory, or a null reference ( in Visual Basic) if the targeted version of the .NET Framework is not installed. Gets a fully qualified path to the framework's root directory. Version of the targeted .NET Framework Desired architecture, or DotNetFrameworkArchitecture.Current for the architecture this process is currently running under. A fully qualified path to the framework's root directory. Gets a fully qualified path to a file in the .NET Framework directory. The file to locate in the .NET Framework directory. The version of the .NET Framework to target. A string containing the fully qualified path to the specified file, or a null reference ( in Visual Basic) if the targeted version of the .NET Framework is not installed. Gets a fully qualified path to a file in the frameworks root directory for the specified architecture. File name to locate in the .NET Framework directory Version of the targeted .NET Framework Desired architecture, or DotNetFrameworkArchitecture.Current for the architecture this process is currently running under. A fully qualified path to a file in the frameworks root directory. Returns the path to the reference assemblies location for the given framework version. Version of the targeted .NET Framework A string containing the fully qualified path to the Reference Assemblies folder, or a null reference (Nothing in Visual Basic) if the targeted version of the .NET Framework is not installed. Gets the fully qualified path to the \bin directory of the .NET Framework SDK. The version of the .NET Framework to target. A string containing the fully qualified path to the \bin directory of the .NET Framework SDK, or a null reference ( in Visual Basic) if the targeted version of the .NET Framework SDK is not installed. Returns the path to the "bin" directory of the .NET Framework SDK. Version of the targeted .NET Framework Version of Visual Studio the requested SDK is associated with Path string. Gets the fully qualified path to a file in the .NET Framework SDK. The file to locate in the .NET Framework SDK. The version of the .NET Framework to target. A string containing the fully qualified path to the \bin directory of the .NET Framework SDK, or a null reference ( in Visual Basic) if the targeted version of the .NET Framework SDK is not installed. Gets a fully qualified path to a file in the .NET Framework SDK. File name to locate in the .NET Framework SDK directory Version of the targeted .NET Framework The required architecture of the requested file. A fully qualified path to a file in the .NET Framework SDK. Throws an error if the .NET Framework SDK can't be found. Gets a fully qualified path to a file in the .NET Framework SDK. Error if the .NET Framework SDK can't be found. File name to locate in the .NET Framework SDK directory Version of the targeted .NET Framework Version of Visual Studio associated with the requested SDK. Path string. Gets a fully qualified path to a file in the .NET Framework SDK. Error if the .NET Framework SDK can't be found. File name to locate in the .NET Framework SDK directory Version of the targeted .NET Framework Version of Visual Studio associated with the requested SDK. The required architecture of the requested file. Path string. Gets the paths to the reference assemblies location for the given target framework. The framework name. The paths to the reference assemblies location. When the frameworkName is null Gets the paths to the reference assemblies location for the given framework version relative to a given targetFrameworkRoot. Root directory which will be used to calculate the reference assembly path. The references assembies will be generated in the following way TargetFrameworkRootPath\TargetFrameworkIdentifier\TargetFrameworkVersion\SubType\TargetFrameworkSubType. A frameworkName class which represents a TargetFrameworkMoniker. This cannot be null. The paths to the reference assemblies location. Returns the paths to the reference assemblies location for the given target framework. This method will assume the requested ReferenceAssemblyRoot path will be the ProgramFiles directory specified by Environment.SpecialFolder.ProgramFiles In additon when the .NETFramework or .NET Framework targetFrameworkIdentifiers are seen and targetFrameworkVersion is 2.0, 3.0, 3.5 or 4.0 we will return the correctly chained reference assembly paths for the legacy .NET Framework versions. This chaining will use the existing GetPathToDotNetFrameworkReferenceAssemblies to build up the list of reference assembly paths. Identifier being targeted Version being targeted Profile being targeted Collection of reference assembly locations. When the frameworkName is null Returns the path to the reference assemblies location for the given target framework's standard libraries (i.e. mscorlib). This method will assume the requested ReferenceAssemblyRoot path will be the ProgramFiles directory specified by Environment.SpecialFolder.ProgramFiles In additon when the .NETFramework or .NET Framework targetFrameworkIdentifiers are seen and targetFrameworkVersion is 2.0, 3.0, 3.5 or 4.0 we will return the correctly chained reference assembly paths for the legacy .NET Framework versions. This chaining will use the existing GetPathToDotNetFrameworkReferenceAssemblies to build up the list of reference assembly paths. Identifier being targeted Version being targeted Profile being targeted Collection of reference assembly locations. When the frameworkName is null Returns the path to mscorlib and system.dll Identifier being targeted Version being targeted Profile being targeted This is used to determine where we should look for the standard libraries. Note, this parameter is only used for .NET Framework 3.5 or less. Collection of reference assembly locations. When the frameworkName is null Gets a fully qualified path to a file in the system directory. The file to locate in the System folder. A string containing the fully qualified path to the file in the system directory. Returns the path to the Windows SDK for the desired .NET Framework and Visual Studio version. Note that this is only supported for a targeted .NET Framework version of 4.5 and above. Target .NET Framework version Version of Visual Studio associated with the SDK. Path to the appropriate Windows SDK location Returns the path to a file in the Windows SDK for the desired .NET Framework and Visual Studio version. Note that this is only supported for a targeted .NET Framework version of 4.5 and above. The name of the file being requested. Target .NET Framework version. Version of Visual Studio associated with the SDK. Path to the appropriate Windows SDK file Returns the path to a file in the Windows SDK for the desired .NET Framework and Visual Studio version and the desired architecture. Note that this is only supported for a targeted .NET Framework version of 4.5 and above. The name of the file being requested. Target .NET Framework version. Version of Visual Studio associated with the requested SDK. Desired architecture of the resultant file. Path to the appropriate Windows SDK file Given an SDK moniker and the targeted platform get the path to the SDK root if it exists. Moniker for the sdk Identifier for the platform Version of the platform A full path to the sdk root if the sdk exists in the targeted platform or an empty string if it does not exist. Given an SDKName, targetPlatformIdentifier and TargetPlatformVersion search the default sdk locations for the passed in sdk name. The format of the sdk moniker is SDKName, Version=X.X Name of the SDK to determine the installation location for. Targeted platform to find SDKs for Targeted platform version to find SDKs for List of disk roots to search for sdks within Registry root to look for sdks within Location of the SDK if it is found, empty string if it could not be found Given an SDKName, targetPlatformIdentifier and TargetPlatformVersion search the default sdk locations for the passed in sdk name. The format of the sdk moniker is SDKName, Version=X.X Name of the SDK to determine the installation location for. Targeted platform to find SDKs for Targeted platform version to find SDKs for Location of the SDK if it is found, empty string if it could not be found Given an SDKName, targetPlatformIdentifier and TargetPlatformVersion search the default sdk locations for the passed in sdk name. The format of the sdk moniker is SDKName, Version=X.X Name of the SDK to determine the installation location for. Targeted platform to find SDKs for Targeted platform version to find SDKs for List of disk roots to search for sdks within Registry root to look for sdks within Location of the SDK if it is found, empty string if it could not be found Gets a list of SDK's installed on the machine for a given target platform Targeted platform to find SDKs for Targeted platform version to find SDKs for IDictionary of installed SDKS and their location. K:SDKName V:SDK installation location Gets a list of SDK's installed on the machine for a given target platform Array of disk locations to search for sdks Root registry location to look for sdks Targeted platform to find SDKs for Targeted platform version to find SDKs for IDictionary of installed SDKS and their location. K:SDKName V:SDK installation location Given a target platform identifier and a target platform version, searches the default SDK locations for the platform SDK for that target platform. Targeted platform for which to find SDK. Targeted platform version for which to find SDK. The location of the SDK, or an empty string if the SDK could not be found. Given a target platform identifier and a target platform version, searches the default SDK locations for the platform SDK for that target platform. Targeted platform for which to find SDK. Targeted platform version for which to find SDK. Array of disk roots within which to search for SDK. Registry root within which to search for SDK. The location of the SDK, or an empty string if the SDK could not be found. Given a target platform identifier and a target platform version, searches the default SDK locations for the platform SDK for that target platform. Targeted platform for which to find SDK. Targeted platform version for which to find SDK. The location of the SDK, or an empty string if the SDK could not be found. Given a target platform identifier and a target platform version, searches the default SDK locations for the platform SDK for that target platform. Targeted platform for which to find SDK. Targeted platform version for which to find SDK. Array of disk roots within which to search for SDK. Registry root within which to search for SDK. The location of the SDK, or an empty string if the SDK could not be found. Gets the root location for the reference assembly directory under the program files directory. The root location for the reference assembly directory. Gets the list of SDK folders that contain the design-time files for the SDK at the specified SDK root. The list is in the order that must be used in searching for references. The root folder for the SDK, must contain a design-time folder. The list of folders to be used in searching for design-time files in the SDK, in the order that must be used for the search. Gets the list of SDK folders that contain the design-time files for the SDK at the specified SDK root. The list is in the order that must be used in searching for references. The root folder for the SDK, must contain a design-time folder. The configuration the SDK is targeting. This is "Debug" or "Retail". The architecture the SDK is targeting. The list of folders to be used in searching for design-time files in the SDK, in the order that must be used for the search. Gets the list of SDK folders that contain the redist files for the SDK at the specified SDK root. The list is in the order that must be used in searching for references. The root folder for the SDK, must contain a redist folder. The list of folders to be used in searching for redist files in the SDK, in the order that must be used for the search. Gets the list of SDK folders that contain the redist files for the SDK at the specified SDK root. The list is in the order that must be used in searching for references. The root folder for the SDK, must contain a redist folder. The configuration the SDK is targeting. This is "Debug" or "Retail". The architecture the SDK is targeting. The list of folders to be used in searching for redist files in the SDK, in the order that must be used for the search. Gets the list of SDK folders that contain the references for the SDK at the specified SDK root. The list is in the order that must be used in searching for references. The root folder for the SDK. The list of folders to be used in searching for references in the SDK, in the order that must be used for the search. Gets the list of SDK folders that contain the references for the SDK at the specified SDK root. The list is in the order that must be used in searching for references. The root folder for the SDK. The configuration the SDK is targeting. This is "Debug" or "Retail". The architecture the SDK is targeting. The list of folders to be used in searching for references in the SDK, in the order that must be used for the search. Gets a list of supported target framework monikers. list of supported target framework monikers Gets a list of target platform SDKs on the machine. List of Target Platform SDKs, Item1: TargetPlatformName Item2: Version of SDK Item3: Path to sdk root Gets a list of target platform SDKs on the machine. List of disk locations to search for platform SDKs. Registry root location to look for platform SDKs. A list of target platform SDKs. Gets the highest version of a target framework moniker based on the identifier. Target framework root directory. Framework identifier. The highest version of a target framework moniker based on the identifier. This method will only find full frameworks; no profiles will be returned. Gets the fully qualified path of the system directory. A string containing a directory path to the system directory. When overridden in a derived form, provides functionality for a task that wraps a command line tool. Initializes a new instance of the class. Initializes a new instance of the class with the specified . The for task resources. Initializes a new instance of the class with the specified and Help keyword prefix. The for task resources. The Help keyword to use for messages raised by the task. Calls the host object to perform the work of the task. if the method was successfule; otherwise, . Cancels the process executing the task by asking it to close nicely, then after a short period, forcing termination. Deletes the specified temporary file. The name of the temporary file to delete. Gets or sets a value that indicates whether command line echoing is turned off. if command line echo is off; otherwise, . Gets a set of environment variable name-value pairs. Designed to be overridden in a custom task class (derived from ToolTask) to return a set of new or altered environment variables to create the execution context of the associated tool. A set of environment variables. Each dictionary key is the name of the environment variable to override, and the dictionary value is the value to set for that environment variable. The default implementation of EnvironmentOverride returns . Array of equals-separated pairs of environment variables that should be passed to the spawned executable, in addition to (or selectively overriding) the regular environment block. Runs the exectuable file with the specified task parameters. if the task runs successfully; otherwise, . Creates a temporoary response (.rsp) file and runs the executable file. The path to the executable file. The command line arguments to place in the .rsp file. The command line arguments to pass directly to the executable file. The returned exit code of the executable file. If the task logged errors, but the executable returned an exit code of 0, this method returns -1. Gets the returned exit code of the executable file. The returned exit code of the executable file. If the task logged errors, but the executable returned an exit code of 0, this method returns -1. Returns a string value containing the command line arguments to pass directly to the executable file. A string value containing the command line arguments to pass directly to the executable file. Returns the fully qualified path to the executable file. The fully qualified path to the executable file. Returns a string value containing the command line arguments to add to the response (.rsp) file before running the executable file. a string value containing the command line arguments to add to the response (.rsp) file before running the executable file. Initializes the information required to spawn the process executing the tool. The path to the tool. The command line commands. The response file switch. The information required to start the process. Returns the command line switch used by the executable file to specifiy a response (.rsp) file. The full path to the temporary .rsp file. The command line switch used by the executable file to specifiy a response (.rsp) file. Returns the directory in which to run the executable file. The directory in which to run the executable file, or a null reference ( in Visual Basic) if the executable file should be run in the current directory. Handles execution errors raised by the executable file. if the method runs successfully; otherwise, . Whether this ToolTask has logged any errors Initializes the host object of the task. The of the host object. Parses a single line of text to identify any errors or warnings in canonical format. A single line of text for the method to parse. A value of that indicates the importance level with which to log the message. Logs the tool name and path to all registered loggers. The executable file name. The path to the executable file. Should ALL messages received on the standard error stream be logged as errors. Logs the starting point of the run to all registered loggers. A descriptive message to provide loggers, usually the command line and switches. Gets the of the response file. The of the response file. Overridable method to escape the content of the response file. The response string. The response string. Indicates whether task execution should be skipped. to skip task execution; otherwise, . Gets the of the standard error stream of the task. The of the response file. Task Parameter: Importance with which to log text from the standard error stream. Gets the actual importance at which standard error messages will be logged. The actual importance at which standard error messages will be logged. Gets the with which to log errors. The with which to log errors. Gets the of the standard output stream of the task. The of the response file. Task Parameter: Importance with which to log text from the standard out stream. Gets the actual importance at which standard out messages will be logged. The actual importance at which standard out messages will be logged. Gets the with which to log errors. The with which to log errors. A timeout to wait for a task to terminate before killing it. In milliseconds. Gets or sets the amount of time after which the task executable is terminated. The time-out length, in milliseconds. Used to signal when a tool has been cancelled. Projects may set this to override a task's ToolName. Tasks may override this to prevent that. Gets the name of the executable file to run. The name of the executable file to run. Gets or sets the path of the executable file to run. The path of the file to run. Gets or sets a value that indicates whether the tool task will create a batch file for the command-line and execute that using the command-processor, rather than executing the command directly. if the tool task will create a batch file for the command-line and execute that using the command-processor; if the tool task will execute the command directly. Indicates whether all task paratmeters are valid. if all task parameters are valid; otherwise, . Gets or sets a value that indicates whether the task will yield the node during tool execution. if the task will yield the node during tool execution; otherwise, . This class contains utility functions to assist with tracking dependencies Expand wildcards in the item list. Array of items to be expanded. Array of items expanded The possible types of up to date check that we can support Input newer than output Input newer than tracking Input or output newer than tracking Used to specify the version of Visual Studio from which to select associated tools for some methods of ToolLocationHelper Visual Studio 2010 and SP1 Visual Studio 2012 The latest version available at the time of release