共用方式為


ITextTemplatingEngineHost.LogErrors 方法

從轉換引擎收到錯誤和警告的集合。

命名空間:  Microsoft.VisualStudio.TextTemplating
組件:  Microsoft.VisualStudio.TextTemplating.Interfaces.10.0 (在 Microsoft.VisualStudio.TextTemplating.Interfaces.10.0.dll 中)

語法

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

參數

備註

當它完成文字範本的處理,並將發生的任何錯誤傳遞至主機時,引擎會呼叫這個方法。 主應用程式可以決定如何顯示它們。 例如,主應用程式可以在使用者介面中顯示錯誤,或將錯誤寫入檔案。

範例

您可以從文字範本呼叫這個方法。 您必須設定 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.
#>

下列程式碼範例示範自訂主機可能的實作。 在這個範例中,會將錯誤儲存在屬性中。 將這個自訂主機執行個體化的程式將會存取屬性,並將錯誤寫入至 Console。 這個程式碼是完整範例的一部分。 如需完整的範例,請參閱 逐步解說:建立自訂文字範本主機

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

下列程式碼範例示範自訂主機的另一個可能的實作。 在這個範例中,會立即將錯誤寫入 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

.NET Framework 安全性

請參閱

參考

ITextTemplatingEngineHost 介面

Microsoft.VisualStudio.TextTemplating 命名空間

CompilerErrorCollection

其他資源

逐步解說:建立自訂文字範本主機