Freigeben über


ITextTemplatingEngineHost.LogErrors-Methode

Empfängt eine Auflistung von Fehlern und Warnungen vom Transformationsmodul.

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
)

Parameter

Hinweise

Das Modul ruft diese Methode auf, wenn sie aufhört, eine Textvorlage zu verarbeiten, und alle aufgetretenen Fehler an den Host übergibt. Der Host kann entscheiden, wie sie angezeigt werden. Der Host kann die Fehler z. B. in der Benutzeroberfläche anzeigen oder in eine Datei schreiben.

Beispiele

Sie können diese Methode von einer Textvorlage aus aufrufen. Sie müssen hostspecific="true" festlegen.

<#@ 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.
#>

Im folgenden Codebeispiel wird eine mögliche Implementierung für einen benutzerdefinierten Host veranschaulicht. In diesem Beispiel werden die Fehler in einer Eigenschaft gespeichert. Das Programm, das diesen benutzerdefinierten Host instanziiert, greift auf die Eigenschaft zu und schreibt die Fehler in die Console. Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels. Das vollständige Beispiel finden Sie unter Exemplarische Vorgehensweise: Erstellen eines benutzerdefinierten Textvorlagenhosts.

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

Im folgenden Codebeispiel wird eine weitere mögliche Implementierung für einen benutzerdefinierten Host veranschaulicht. In diesem Beispiel werden die Fehler sofort in die Console geschrieben.

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-Sicherheit

Siehe auch

Referenz

ITextTemplatingEngineHost Schnittstelle

Microsoft.VisualStudio.TextTemplating-Namespace

CompilerErrorCollection

Weitere Ressourcen

Exemplarische Vorgehensweise: Erstellen eines benutzerdefinierten Textvorlagenhosts