Metodo ITextTemplatingEngineHost.ResolvePath
Consente a un host di fornire un percorso completo, assegnato un nome file o un percorso relativo.
Spazio dei nomi: Microsoft.VisualStudio.TextTemplating
Assembly: Microsoft.VisualStudio.TextTemplating.Interfaces.10.0 (in Microsoft.VisualStudio.TextTemplating.Interfaces.10.0.dll)
Sintassi
'Dichiarazione
Function ResolvePath ( _
path As String _
) As String
string ResolvePath(
string path
)
String^ ResolvePath(
String^ path
)
abstract ResolvePath :
path:string -> string
function ResolvePath(
path : String
) : String
Parametri
- path
Tipo: System.String
il percorso da completare.
Valore restituito
Tipo: System.String
In String che contiene un percorso assoluto.
Note
Un processore di direttiva può chiamare questo metodo se un nome file non è un percorso.L'host può tentare di fornire informazioni sul percorso di ricerca dei percorsi specifici nel file e la restituzione del file e il percorso se disponibile
Questo metodo può essere chiamato 0, 1, o più volte, per ogni trasformazione del modello di testo.Per ulteriori informazioni, vedere Direttive di modello di testo T4.
Un host può individuare l'assembly in posizioni diverse, nell'ordine preferisce, o aggiunge un percorso relativo scegliere nella parte superiore del riferimento all'assembly.
Esempi
È possibile chiamare questo metodo da un modello di testo.È necessario impostare hostspecific="true".
<#@ template hostspecific="true" language="C#" #>
<#@ output extension=".txt" #>
<#@ import namespace="System.IO" #>
<#
// Find a path within the same project as the text template:
string myFile = File.ReadAllText(this.Host.ResolvePath("MyFile.txt"));
#>
Content of myFile is:
<#= myFile #>
Nell'esempio di codice seguente viene illustrata un'implementazione anche un host personalizzato.Questo esempio di codice fa parte di un esempio più esaustivo.per l'esempio completo, vedere Procedura dettagliata: creazione di un host del modello di testo personalizzato.
public string ResolvePath(string fileName)
{
if (fileName == null)
{
throw new ArgumentNullException("the file name cannot be null");
}
//If the argument is the fully qualified path of an existing file,
//then we are done
if (File.Exists(fileName))
{
return fileName;
}
//Maybe the file is in the same folder as the text template that
//called the directive.
string candidate = Path.Combine(Path.GetDirectoryName(this.TemplateFile), fileName);
if (File.Exists(candidate))
{
return candidate;
}
//Look more places.
//More code can go here...
//If we cannot do better, return the original file name.
return fileName;
}
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.