다음을 통해 공유


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

기타 리소스

연습: 사용자 지정 텍스트 템플릿 호스트 만들기