Udostępnij za pośrednictwem


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

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

Zobacz też

Informacje

ITextTemplatingEngineHost Interfejs

Przestrzeń nazw Microsoft.VisualStudio.TextTemplating