Método ITextTemplatingEngineHost.ResolveAssemblyReference

Permite que um host fornecer informações adicionais sobre a localização de um assembly.

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

Sintaxe

'Declaração
Function ResolveAssemblyReference ( _
    assemblyReference As String _
) As String
string ResolveAssemblyReference(
    string assemblyReference
)
String^ ResolveAssemblyReference(
    String^ assemblyReference
)
abstract ResolveAssemblyReference : 
        assemblyReference:string -> string 
function ResolveAssemblyReference(
    assemblyReference : String
) : String

Parâmetros

  • assemblyReference
    Tipo: System.String
    O assembly para resolver.

Valor de retorno

Tipo: System.String
A String que contém a referência do assembly especificado ou a referência do assembly especificado com informações adicionais.

Comentários

Se o usuário tiver especificado o opcional assembly diretiva em um modelo de texto, o mecanismo chama esse método. Esse método pode ser chamado de 0, 1 ou várias vezes, para cada transformação do modelo de texto. Para obter mais informações, consulte T4 Diretivas de modelo de texto.

Um host pode pesquisar o assembly em diferentes locais, na ordem em que ele prefere ou adicionar um caminho de sua escolha para o início da referência do assembly.

Exemplos

O exemplo de código a seguir mostra uma implementação possível para um host personalizado. 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.

public string ResolveAssemblyReference(string assemblyReference)
{
    //if the argument is the fully qualified path of an existing file,
    //then we are done (this does not do any work)
    //----------------------------------------------------------------
    if (File.Exists(assemblyReference))
    {
        return assemblyReference;
    }

    //the assembly might be in the same folder as the text template that 
    //called the directive
    //----------------------------------------------------------------
    string candidate = Path.Combine(Path.GetDirectoryName(this.inputFile), assemblyReference);
    if (File.Exists(candidate))
    {
        return candidate;
    }
        
    //this can be customized to search specific paths for the file,
    //or to search the GAC
    //----------------------------------------------------------------

    //this can be customized to accept paths to search as command line
    //arguments
    //----------------------------------------------------------------

    //if we cannot do better - return the original file name
    return "";
}
Public Function ResolveAssemblyReference(ByVal assemblyReference As String) As String Implements Microsoft.VisualStudio.TextTemplating.ITextTemplatingEngineHost.ResolveAssemblyReference

    'if the argument is the fully qualified path of an existing file,
    'then we are done (this does not do any work)
    '----------------------------------------------------------------
    If File.Exists(assemblyReference) Then
        Return assemblyReference
    End If


    'the assembly might be in the same folder as the text template that 
    'called the directive
    '----------------------------------------------------------------
    Dim candidate As String = Path.Combine(Path.GetDirectoryName(Me.inputFile), assemblyReference)
    If File.Exists(candidate) Then
        Return candidate
    End If

    'this can be customized to search specific paths for the file,
    'or to search the GAC
    '----------------------------------------------------------------

    'this can be customized to accept paths to search as command line
    'arguments
    '----------------------------------------------------------------

    'if we cannot do better - return the original file name
    Return ""
End Function

Segurança do .NET Framework

Consulte também

Referência

ITextTemplatingEngineHost Interface

Namespace Microsoft.VisualStudio.TextTemplating

ResolveDirectiveProcessor

ResolvePath

Outros recursos

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