Método ITextTemplatingEngineHost.LogErrors

Recebe a uma coleção de erros e avisos do mecanismo de transformação.

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

Sintaxe

'Declaração
Sub LogErrors ( _
    errors As CompilerErrorCollection _
)
void LogErrors(
    CompilerErrorCollection errors
)
void LogErrors(
    CompilerErrorCollection^ errors
)
abstract LogErrors : 
        errors:CompilerErrorCollection -> unit 
function LogErrors(
    errors : CompilerErrorCollection
)

Parâmetros

Comentários

O mecanismo chama esse método quando ele termina o processamento de um modelo de texto e passa a quaisquer erros ocorridos ao host. O host pode decidir como exibi-los. Por exemplo, o host pode exibir os erros na interface do usuário ou gravá-los em um arquivo.

Exemplos

Você pode chamar esse método de um modelo de texto. Você deve definir 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.
#>

O exemplo de código a seguir mostra uma implementação possível para um host personalizado. Neste exemplo, os erros são armazenados em uma propriedade. O programa que instancia esse host personalizado irá acessar a propriedade e os erros de gravação de Console. Este exemplo de código é parte de um exemplo maior. For the complete example, see Demonstra Passo a passo: A criação de um Host de modelo de texto personalizado.

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

O exemplo de código a seguir mostra outra implementação possível para um host personalizado. Neste exemplo, os erros são escritos para o Console imediatamente.

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

Segurança do .NET Framework

Consulte também

Referência

ITextTemplatingEngineHost Interface

Namespace Microsoft.VisualStudio.TextTemplating

CompilerErrorCollection

Outros recursos

Demonstra Passo a passo: A criação de um Host de modelo de texto personalizado