You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/msbuild/writecodefragment-task.md
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@ manager: douge
19
19
ms.workload:
20
20
- "multiple"
21
21
---
22
-
# WriteCodeFragment Task
22
+
# WriteCodeFragment task
23
23
Generates a temporary code file from the specified generated code fragment. Does not delete the file.
24
24
25
25
## Parameters
@@ -33,8 +33,8 @@ Generates a temporary code file from the specified generated code fragment. Does
33
33
|`OutputFile`|Optional <xref:Microsoft.Build.Framework.ITaskItem> output parameter.<br /><br /> Specifies the path of the file that was generated. If this parameter is set by using a file name, the destination folder is prepended to the file name. If it is set by using a root, the destination folder is ignored.<br /><br /> If this parameter is not set, the output file name is the destination folder, an arbitrary file name, and the default file name extension for the specified language.|
34
34
35
35
## Remarks
36
-
In addition to having the parameters that are listed in the table, this task inherits parameters from the <xref:Microsoft.Build.Tasks.TaskExtension> class, which itself inherits from the <xref:Microsoft.Build.Utilities.Task> class. For a list of these additional parameters and their descriptions, see [TaskExtension Base Class](../msbuild/taskextension-base-class.md).
36
+
In addition to having the parameters that are listed in the table, this task inherits parameters from the <xref:Microsoft.Build.Tasks.TaskExtension> class, which itself inherits from the <xref:Microsoft.Build.Utilities.Task> class. For a list of these additional parameters and their descriptions, see [TaskExtension base class](../msbuild/taskextension-base-class.md).
Copy file name to clipboardExpand all lines: docs/msbuild/writelinestofile-task.md
+5-5Lines changed: 5 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -21,10 +21,10 @@ manager: douge
21
21
ms.workload:
22
22
- "multiple"
23
23
---
24
-
# WriteLinesToFile Task
24
+
# WriteLinesToFile task
25
25
Writes the paths of the specified items to the specified text file.
26
26
27
-
## Task Parameters
27
+
## Task parameters
28
28
The following table describes the parameters of the `WriteLinestoFile` task.
29
29
30
30
|Parameter|Description|
@@ -37,7 +37,7 @@ Writes the paths of the specified items to the specified text file.
37
37
## Remarks
38
38
If `Overwrite` is `true`, creates a new file, write the contents to the file, and then closes the file. If the target file already exists, it is overwritten. If `Overwrite` is `false`, appends the contents to file, creating the target file if it does not already exist.
39
39
40
-
In addition to the parameters listed above, this task inherits parameters from the <xref:Microsoft.Build.Tasks.TaskExtension> class, which itself inherits from the <xref:Microsoft.Build.Utilities.Task> class. For a list of these additional parameters and their descriptions, see [TaskExtension Base Class](../msbuild/taskextension-base-class.md).
40
+
In addition to the parameters listed above, this task inherits parameters from the <xref:Microsoft.Build.Tasks.TaskExtension> class, which itself inherits from the <xref:Microsoft.Build.Utilities.Task> class. For a list of these additional parameters and their descriptions, see [TaskExtension base class](../msbuild/taskextension-base-class.md).
41
41
42
42
## Example
43
43
The following example uses the `WriteLinesToFile` task to write the paths of the items in the `MyItems` item collection to the file specified by the `MyTextFile` item collection.
@@ -61,6 +61,6 @@ Writes the paths of the specified items to the specified text file.
Copy file name to clipboardExpand all lines: docs/msbuild/writing-multi-processor-aware-loggers.md
+16-16Lines changed: 16 additions & 16 deletions
Original file line number
Diff line number
Diff line change
@@ -15,19 +15,19 @@ manager: douge
15
15
ms.workload:
16
16
- "multiple"
17
17
---
18
-
# Writing Multi-Processor-Aware Loggers
18
+
# Write multi-processor-aware loggers
19
19
The ability of [!INCLUDE[vstecmsbuild](../extensibility/internals/includes/vstecmsbuild_md.md)] to take advantage of multiple processors can decrease project building time, but it also adds complexity to build event logging. In a single-processor environment, events, messages, warnings, and errors arrive at the logger in a predictable, sequential manner. However, in a multi-processor environment, events from different sources can arrive at the same time or out of sequence. To provide for this, [!INCLUDE[vstecmsbuild](../extensibility/internals/includes/vstecmsbuild_md.md)] provides a multi-processor-aware logger and a new logging model, and lets you create custom "forwarding loggers."
20
20
21
-
## Multi-Processor Logging Challenges
21
+
## Multi-processor logging challenges
22
22
When you build one or more projects on a multi-processor or multi-core system, [!INCLUDE[vstecmsbuild](../extensibility/internals/includes/vstecmsbuild_md.md)] build events for all the projects are generated at the same time. An avalanche of event messages may arrive at the logger at the same time or out of sequence. Because a [!INCLUDE[vstecmsbuild](../extensibility/internals/includes/vstecmsbuild_md.md)] 2.0 logger is not designed to handle this situation, it can overwhelm the logger and cause increased build times, incorrect logger output, or even a broken build. To address these issues, the logger (starting in [!INCLUDE[vstecmsbuild](../extensibility/internals/includes/vstecmsbuild_md.md)] 3.5) can process out-of-sequence events and correlate events and their sources.
23
23
24
24
You can improve logging efficiency even more by creating a custom forwarding logger. A custom forwarding logger acts as a filter by letting you choose, before you build, only the events you want to monitor. When you use a custom forwarding logger, unwanted events cannot overwhelm the logger, clutter your logs, or slow build times.
25
25
26
-
## Multi-Processor Logging Models
26
+
## Multi-processor logging models
27
27
To provide for multi-processor-related build issues, [!INCLUDE[vstecmsbuild](../extensibility/internals/includes/vstecmsbuild_md.md)] supports two logging models, central and distributed.
28
28
29
-
### Central Logging Model
30
-
In the central logging model, a single instance of MSBuild.exe acts as the "central node," and child instances of the central node ("secondary nodes") attach to the central node to help it perform build tasks.
29
+
### Central logging model
30
+
In the central logging model, a single instance of *MSBuild.exe* acts as the "central node," and child instances of the central node ("secondary nodes") attach to the central node to help it perform build tasks.
@@ -46,28 +46,28 @@ public interface INodeLogger: ILogger
46
46
47
47
Any pre-existing <xref:Microsoft.Build.Framework.ILogger>-based loggers can act as central loggers and can attach to the build. However, central loggers written without explicit support for multi-processor logging scenarios and out-of-order events may break a build or produce meaningless output.
48
48
49
-
### Distributed Logging Model
49
+
### Distributed logging model
50
50
In the central logging model, too much incoming message traffic can overwhelm the central node, for example, when many projects build at the same time. This can stress system resources and decrease build performance. To ease this problem, [!INCLUDE[vstecmsbuild](../extensibility/internals/includes/vstecmsbuild_md.md)] supports a distributed logging model.
The distributed logging model extends the central logging model by letting you create a forwarding logger.
55
55
56
-
#### Forwarding Loggers
56
+
#### Forwarding loggers
57
57
A forwarding logger is a secondary, lightweight logger that has an event filter that attaches to a secondary node and receives incoming build events from that node. It filters the incoming events and forwards only the ones that you specify to the central node. This reduces the message traffic that is sent to the central node and improves overall build performance.
58
58
59
59
There are two ways to use distributed logging, as follows:
60
60
61
61
- Customize the pre-fabricated forwarding logger named <xref:Microsoft.Build.BuildEngine.ConfigurableForwardingLogger>.
62
62
63
63
- Write your own custom forwarding logger.
64
+
65
+
You can modify ConfigurableForwardingLogger to suit your requirements. To do this, call the logger on the command line by using *MSBuild.exe*, and list the build events that you want the logger to forward to the central node.
66
+
67
+
As an alternative, you can create a custom forwarding logger. By creating a custom forwarding logger, you can fine-tune the behavior of the logger. However, creating a custom forwarding logger is more complex than just customizing the ConfigurableForwardingLogger. For more information, see [Creating forwarding loggers](../msbuild/creating-forwarding-loggers.md).
64
68
65
-
You can modify ConfigurableForwardingLogger to suit your requirements. To do this, call the logger on the command line by using MSBuild.exe, and list the build events that you want the logger to forward to the central node.
66
-
67
-
As an alternative, you can create a custom forwarding logger. By creating a custom forwarding logger, you can fine-tune the behavior of the logger. However, creating a custom forwarding logger is more complex than just customizing the ConfigurableForwardingLogger. For more information, see [Creating Forwarding Loggers](../msbuild/creating-forwarding-loggers.md).
68
-
69
-
## Using the ConfigurableForwardingLogger for Simple Distributed Logging
70
-
To attach either a ConfigurableForwardingLogger or a custom forwarding logger, use the `/distributedlogger` switch (`/dl` for short) in an MSBuild.exe command-line build. The format for specifying the names of the logger types and classes is the same as that for the `/logger` switch, except that a distributed logger always has two logging classes instead of one, the forwarding logger and the central logger. The following is an example of how to attach a custom forwarding logger named XMLForwardingLogger.
69
+
## Using the ConfigurableForwardingLogger for simple distributed logging
70
+
To attach either a ConfigurableForwardingLogger or a custom forwarding logger, use the `/distributedlogger` switch (`/dl` for short) in an *MSBuild.exe* command-line build. The format for specifying the names of the logger types and classes is the same as that for the `/logger` switch, except that a distributed logger always has two logging classes instead of one, the forwarding logger and the central logger. The following is an example of how to attach a custom forwarding logger named XMLForwardingLogger.
> An asterisk (*) must separate the two logger names in the `/dl` switch.
78
78
79
-
Using the ConfigurableForwardingLogger is like using any other logger (as outlined in [Obtaining Build Logs](../msbuild/obtaining-build-logs-with-msbuild.md)), except that you attach the ConfigurableForwardingLogger logger instead of the typical [!INCLUDE[vstecmsbuild](../extensibility/internals/includes/vstecmsbuild_md.md)] logger and you specify as parameters the events that you want the ConfigurableForwardingLogger to pass on to the central node.
79
+
Using the ConfigurableForwardingLogger is like using any other logger (as outlined in [Obtaining build logs](../msbuild/obtaining-build-logs-with-msbuild.md)), except that you attach the ConfigurableForwardingLogger logger instead of the typical [!INCLUDE[vstecmsbuild](../extensibility/internals/includes/vstecmsbuild_md.md)] logger and you specify as parameters the events that you want the ConfigurableForwardingLogger to pass on to the central node.
80
80
81
81
For example, if you want to be notified only when a build starts and ends, and when an error occurs, you would pass `BUILDSTARTEDEVENT`, `BUILDFINISHEDEVENT`, and `ERROREVENT` as parameters. Multiple parameters can be passed by separating them with semi-colons. The following is an example of how to use the ConfigurableForwardingLogger to forward only the `BUILDSTARTEDEVENT`, `BUILDFINISHEDEVENT`, and `ERROREVENT` events.
Copy file name to clipboardExpand all lines: docs/msbuild/xdcmake-task.md
+12-12Lines changed: 12 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -22,28 +22,28 @@ manager: douge
22
22
ms.workload:
23
23
- "multiple"
24
24
---
25
-
# XDCMake Task
26
-
Wraps the XML Documentation tool (xdcmake.exe), which merges XML document comment (.xdc) files into an .xml file.
25
+
# XDCMake task
26
+
Wraps the XML Documentation tool (*xdcmake.exe*), which merges XML document comment (*.xdc*) files into an *.xml* file.
27
27
28
-
An .xdc file is created when you provide documentation comments in your Visual C++ source code and compile by using the [/doc](/cpp/build/reference/doc-process-documentation-comments-c-cpp) compiler option. For more information, see [XDCMake Reference](/cpp/ide/xdcmake-reference), [XML Document Generator Tool Property Pages](/cpp/ide/xml-document-generator-tool-property-pages), and command-line help option (**/?**) for xdcmake.exe.
28
+
An *.xdc* file is created when you provide documentation comments in your Visual C++ source code and compile by using the [/doc](/cpp/build/reference/doc-process-documentation-comments-c-cpp) compiler option. For more information, see [XDCMake reference](/cpp/ide/xdcmake-reference), [XML Document Generator Tool property pages](/cpp/ide/xml-document-generator-tool-property-pages), and command-line help option (**/?**) for *xdcmake.exe*.
29
29
30
30
## Remarks
31
-
By default, the xdcmake.exe tool supports a few command-line options. Additional options are supported when you specify the **/old** command-line option.
31
+
By default, the *xdcmake.exe* tool supports a few command-line options. Additional options are supported when you specify the **/old** command-line option.
32
32
33
33
## Parameters
34
34
The following table describes the parameters of the **XDCMake** task.
35
35
36
36
|Parameter|Description|
37
37
|---------------|-----------------|
38
-
|**AdditionalDocumentFile**|Optional **String[]** parameter.<br /><br /> Specifies one or more additional .xdc files to merge.<br /><br /> For more information, see the **Additional Document Files** description in [XML Document Generator Tool Property Pages](/cpp/ide/xml-document-generator-tool-property-pages). Also see the **/old** and **/Fs** command-line options for xdcmake.exe.|
39
-
|**AdditionalOptions**|Optional **String** parameter.<br /><br /> A list of options as specified on the command line. For example, "*/option1 /option2 /option#*". Use this parameter to specify options that are not represented by any other **XDCMake** task parameter.<br /><br /> For more information, see [XDCMake Reference](/cpp/ide/xdcmake-reference), [XML Document Generator Tool Property Pages](/cpp/ide/xml-document-generator-tool-property-pages), and command-line help (**/?**) for xdcmake.exe.|
40
-
|**DocumentLibraryDependencies**|Optional **Boolean** parameter.<br /><br /> If `true` and the current project has a dependency on a static library (.lib) project in the solution, the .xdc files for that library project are included in the .xml file output for the current project.<br /><br /> For more information, see the **Document Library Dependencies** description in [XML Document Generator Tool Property Pages](/cpp/ide/xml-document-generator-tool-property-pages).|
41
-
|**OutputFile**|Optional **String** parameter.<br /><br /> Overrides the default output file name. The default name is derived from the name of the first .xdc file that is processed.<br /><br /> For more information, see the **/out:**`filename` option in [XDCMake Reference](/cpp/ide/xdcmake-reference). Also see the **/old** and **/Fo** command-line options for xdcmake.exe.|
38
+
|**AdditionalDocumentFile**|Optional **String[]** parameter.<br /><br /> Specifies one or more additional *.xdc* files to merge.<br /><br /> For more information, see the **Additional Document Files** description in [XML Document Generator Tool property pages](/cpp/ide/xml-document-generator-tool-property-pages). Also see the **/old** and **/Fs** command-line options for *xdcmake.exe*.|
39
+
|**AdditionalOptions**|Optional **String** parameter.<br /><br /> A list of options as specified on the command line. For example, /\<option1> /\<option2> /\<option#>. Use this parameter to specify options that are not represented by any other **XDCMake** task parameter.<br /><br /> For more information, see [XDCMake reference](/cpp/ide/xdcmake-reference), [XML Document Generator Tool property pages](/cpp/ide/xml-document-generator-tool-property-pages), and command-line help (**/?**) for *xdcmake.exe*.|
40
+
|**DocumentLibraryDependencies**|Optional **Boolean** parameter.<br /><br /> If `true` and the current project has a dependency on a static library (*.lib*) project in the solution, the *.xdc* files for that library project are included in the *.xml* file output for the current project.<br /><br /> For more information, see the **Document Library Dependencies** description in [XML Document Generator Tool property pages](/cpp/ide/xml-document-generator-tool-property-pages).|
41
+
|**OutputFile**|Optional **String** parameter.<br /><br /> Overrides the default output file name. The default name is derived from the name of the first *.xdc* file that is processed.<br /><br /> For more information, see the **/out:\<filename>** option in [XDCMake reference](/cpp/ide/xdcmake-reference). Also see the **/old** and **/Fo** command-line options for *xdcmake.exe*.|
42
42
|**ProjectName**|Optional **String** parameter.<br /><br /> The name of the current project.|
43
-
|**SlashOld**|Optional **Boolean** parameter.<br /><br /> If `true`, enables additional xdcmake.exe options.<br /><br /> For more information, see the **/old** command-line option for xdcmake.exe.|
43
+
|**SlashOld**|Optional **Boolean** parameter.<br /><br /> If `true`, enables additional *xdcmake.exe* options.<br /><br /> For more information, see the **/old** command-line option for *xdcmake.exe*.|
44
44
|**Sources**|Required `ITaskItem[]` parameter.<br /><br /> Defines an array of MSBuild source file items that can be consumed and emitted by tasks.|
45
-
|**SuppressStartupBanner**|Optional **Boolean** parameter.<br /><br /> If `true`, prevents the display of the copyright and version number message when the task starts.<br /><br /> For more information, see the **/nologo** option in [XDCMake Reference](/cpp/ide/xdcmake-reference).|
45
+
|**SuppressStartupBanner**|Optional **Boolean** parameter.<br /><br /> If `true`, prevents the display of the copyright and version number message when the task starts.<br /><br /> For more information, see the **/nologo** option in [XDCMake reference](/cpp/ide/xdcmake-reference).|
46
46
|**TrackerLogDirectory**|Optional **String** parameter.<br /><br /> Specifies the directory for the tracker log.|
0 commit comments