Metoda ITextTemplatingEngineHost.ResolvePath —
Umożliwia hosta zapewnić pełną ścieżkę, podana nazwa pliku lub ścieżkę względną.
Przestrzeń nazw: Microsoft.VisualStudio.TextTemplating
Zestaw: Microsoft.VisualStudio.TextTemplating.Interfaces.10.0 (w Microsoft.VisualStudio.TextTemplating.Interfaces.10.0.dll)
Składnia
'Deklaracja
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
Parametry
- path
Typ: System.String
Ścieżka do wykonania.
Wartość zwracana
Typ: System.String
A String zawierający ścieżkę bezwzględną.
Uwagi
Dyrektywa procesora można wywołanie tej metody, jeśli nazwa pliku nie ma ścieżki.Host może próbować dostarczyć informacji o ścieżce wyszukiwania określonej ścieżki dla pliku i zwracanie pliku i ścieżkę, jeśli znaleziono
0, 1 Lub wiele razy dla każdego tekstu szablonu transformacji można wywołać tej metody.Aby uzyskać więcej informacji, zobacz T4 Tekst szablonu dyrektyw.
Host można znaleźć zestawu w różnych miejscach, w celu preferuje lub dodać ścieżkę wybór rozpoczęcie odwołanie do zestawu.
Przykłady
Tę metodę można wywołać z szablonu tekstu.Należy ustawić 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 #>
Poniższy przykład kodu pokazuje możliwe wdrożenie niestandardowych hosta.Poniższy przykład kodu jest częścią większej przykład.Na przykład pełną, zobacz Instruktaż: Tworzenie hosta szablon niestandardowy tekst.
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;
}
Zabezpieczenia programu .NET Framework
- Pełne zaufanie do bezpośredniego wywołującego. Tego elementu członkowskiego nie można używać w kodzie częściowo zaufanym. Aby uzyskać więcej informacji, zobacz Przy użyciu bibliotek z częściowo zaufanego kodu..