Поделиться через


ITextTemplatingEngineHost.LogErrors Method

Receives a collection of errors and warnings from the transformation engine.

Namespace:  Microsoft.VisualStudio.TextTemplating
Assembly:  Microsoft.VisualStudio.TextTemplating.Interfaces.10.0 (in Microsoft.VisualStudio.TextTemplating.Interfaces.10.0.dll)

Syntax

'Declaration
Sub LogErrors ( _
    errors As CompilerErrorCollection _
)
void LogErrors(
    CompilerErrorCollection errors
)
void LogErrors(
    CompilerErrorCollection^ errors
)
abstract LogErrors : 
        errors:CompilerErrorCollection -> unit 
function LogErrors(
    errors : CompilerErrorCollection
)

Parameters

Remarks

The engine calls this method when it finishes processing a text template and passes any errors that occurred to the host. The host can decide how to display them. For example, the host can display the errors in the user interface or write them to a file.

Examples

You can call this method from a text template. You must set hostspecific="true".

<#@ template hostspecific="true" language="C#" #>
<#@ output extension=".txt" #>
<#@ import namespace="System.CodeDom.Compiler" #>
<#
  string message = "test message";
  this.Host.LogErrors(new CompilerErrorCollection() 
    { new CompilerError(
       this.Host.TemplateFile, // Identify the source of the error.
       0, 0, "0",   // Line, column, error ID.
       message) }); // Message displayed in error window.
#>

The following code example shows a possible implementation for a custom host. In this example, the errors are stored in a property. The program that instantiates this custom host will access the property and write the errors to the Console. This code example is part of a larger example. For the complete example, see Walkthrough: Creating a Custom Text Template Host.

private CompilerErrorCollection errorsValue;

public void LogErrors(CompilerErrorCollection errors)
{
    errorsValue = errors;
}
Private errorsValue As CompilerErrorCollection

Public Sub LogErrors(ByVal errors As System.CodeDom.Compiler.CompilerErrorCollection) Implements Microsoft.VisualStudio.TextTemplating.ITextTemplatingEngineHost.LogErrors

    errorsValue = errors
End Sub

The following code example shows another possible implementation for a custom host. In this example, the errors are written to the Console immediately.

public void LogErrors(CompilerErrorCollection errors)
{
    foreach (CompilerError error in errors)
    {
        Console.WriteLine(error.ToString());
    }
}
Public Sub LogErrors(ByVal errors As System.CodeDom.Compiler.CompilerErrorCollection) Implements Microsoft.VisualStudio.TextTemplating.ITextTemplatingEngineHost.LogErrors

    Dim e As CompilerError
    For Each e In errors
        Console.WriteLine(e.ToString())
    Next
End Sub

.NET Framework Security

See Also

Reference

ITextTemplatingEngineHost Interface

Microsoft.VisualStudio.TextTemplating Namespace

CompilerErrorCollection

Other Resources

Walkthrough: Creating a Custom Text Template Host