Erhalten Sie vollen Pfad zur Datei beim Debuggen mit IIS Express

Habe ich eine .NET Anwendung, die ich versuche zu Debuggen, und ein Teil meiner Anwendung lädt eine Datei von meinem Projekt. Diese Datei befindet sich bei

C:\Users\USER_FOLDER\Documents\Visual Studio 2012\Projects\MY_PROJECT\_templates\myFile.html

In meinem code, ich geben Sie einen relativen Pfad zu der Datei und verwenden Sie die DirectoryInfo-Klasse, um den kompletten Pfad zu meiner Datei:

string myFile = (new DirectoryInfo("_templates/myFile.html")).FullName;

Jedoch, dies gibt den folgenden Pfad (extra \'s als escape-Zeichen):

"C:\\Program Files\\IIS Express\\_templates\\myFile.html"

Erwartete ich den Pfad, der zurückgegeben wird, wenn das Debuggen im IIS Express würde mit der erste Weg, den ich aufgelistet, nicht der Dritte. Warum ist das so? Gibt es sonst noch etwas, dass ich brauche, um in meinem Projekt zu haben, es ableiten, die Pfade richtig? Ich gehe davon aus, dass dies nicht geschehen würde, wenn ich mein code bereitgestellt, um eine IIS7 Website, aber ich habe nicht bekommen, dass der Test Niveau doch.

Wenn seine Rückkehr Program Files\\IIS Express\` it means your launching it from that directory path so be more specific about the directory path. Considering "_templates/myFile.html" wäre es ein lokales Verzeichnis in das übergeordnete Verzeichnis seiner nicht sehr spezifisch.
In diesem Sinne, Aufruf Server.MapPath zurückgegeben, die den richtigen Weg, ohne in einen aussagekräftigeren. In diese gehen die ich nicht glaube, ich hatte einen aussagekräftigeren, weil wie in anderen Sprachen, ich war die Behandlung der Pfad, wie es war, relativ zum Speicherort des Skripts, das war die Referenzierung der Datei, sondern um dessen Inhalt zu Lesen .NET-server muss einen Vollständig Qualifizierten URI auf den Weg und ich war nur mit dem falschen Objekt abzuleiten. Warum mein gültige Frage wurde gewählt verwirrend ist.

InformationsquelleAutor Anil Natha | 2012-11-08

Schreibe einen Kommentar