Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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..