ITextTemplatingEngineHost.ResolveAssemblyReference (Método)
Permite a un host proporcionar información adicional sobre la ubicación de un ensamblado.
Espacio de nombres: Microsoft.VisualStudio.TextTemplating
Ensamblado: Microsoft.VisualStudio.TextTemplating.Interfaces.10.0 (en Microsoft.VisualStudio.TextTemplating.Interfaces.10.0.dll)
Sintaxis
'Declaración
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
Ensamblado que se va a resolver.
Valor devuelto
Tipo: System.String
Un valor de tipo String que contiene la referencia del ensamblado especificado o la referencia del ensamblado especificado con información adicional.
Comentarios
Si el usuario ha especificado la directiva assembly opcional en una plantilla de texto, el motor llama a este método. Se puede llamar a este método 0, 1 o varias veces, para cada transformación de plantilla de texto. Para obtener más información, vea Directivas de plantilla de texto T4.
Un host puede buscar el ensamblado en ubicaciones diferentes, en el orden que prefiera, o agregar una ruta de acceso de su elección al inicio de la referencia de ensamblado.
Ejemplos
El ejemplo de código siguiente muestra una posible implementación para un host personalizado. Este ejemplo de código forma parte de un ejemplo más extenso. Para obtener el ejemplo completo, vea Tutorial: Crear un host de plantillas de texto personalizadas.
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
Seguridad de .NET Framework
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.
Vea también
Referencia
ITextTemplatingEngineHost Interfaz
Microsoft.VisualStudio.TextTemplating (Espacio de nombres)
Otros recursos
Tutorial: Crear un host de plantillas de texto personalizadas