Metodo ITextTemplatingEngineHost.ResolvePath
Consente a un host di fornire un percorso completo, dato 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
Percorso da completare.
Valore restituito
Tipo: System.String
Oggetto String che contiene un percorso assoluto.
Note
Un processore di direttiva può chiamare questo metodo se un nome file non dispone di un percorso. L'host può tentare di fornire le informazioni sul percorso cercando il file in percorsi specifici e restituendo il file e il percorso, se vengono trovati.
Questo metodo può essere chiamato 0, 1 o più volte per ogni trasformazione del modello di testo. Per ulteriori informazioni, vedere T4 Text Template Directives.
Un host può cercare l'assembly in percorsi diversi, nell'ordine preferito, o aggiungere un percorso a scelta all'inizio del riferimento all'assembly.
Esempi
Questo metodo può essere chiamato 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 una possibile implementazione di un host personalizzato. Questo esempio di codice fa parte di un esempio più esaustivo. Per l'esempio completo, vedere Walkthrough: Creating a Custom Text Template Host.
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.