Compartir a través de


ITextTemplatingEngineHost.LogErrors (Método)

Recibe una colección de errores y advertencias del motor de transformación.

Espacio de nombres:  Microsoft.VisualStudio.TextTemplating
Ensamblado:  Microsoft.VisualStudio.TextTemplating.Interfaces.10.0 (en Microsoft.VisualStudio.TextTemplating.Interfaces.10.0.dll)

Sintaxis

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

Parámetros

Comentarios

El motor llama a este método cuando termina de procesar una plantilla de texto y pasa cualquier error que ocurriera al host. El host puede decidir cómo mostrarlos. Por ejemplo, el host puede mostrar los errores en la interfaz de usuario o escribirlos en un archivo.

Ejemplos

Puede llamar a este método desde una plantilla de texto. Debe establecer 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.
#>

El ejemplo de código siguiente muestra una posible implementación para un host personalizado. En este ejemplo, los errores se almacenan en una propiedad. El programa que crea instancias de este host personalizado obtendrá acceso la propiedad y escribirá los errores en Console. Este ejemplo de código forma parte de un ejemplo más extenso. Para obtener el ejemplo completo, vea Tutorial: Crear un host de plantillas de texto personalizadas.

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

El ejemplo de código siguiente muestra otra posible implementación de un host personalizado. En este ejemplo, los errores se escriben inmediatamente en Console.

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

Seguridad de .NET Framework

Vea también

Referencia

ITextTemplatingEngineHost Interfaz

Microsoft.VisualStudio.TextTemplating (Espacio de nombres)

CompilerErrorCollection

Otros recursos

Tutorial: Crear un host de plantillas de texto personalizadas