Ich habe zwei Projekte in meiner Lösung und Projekt A hat eine Referenz B. Projekt A ruft eine Funktion in Projekt B zu projizieren, die ein Dokument laden sollen, die in Projekt B:Legen Sie eine Datei von einem anderen Projekt
return XDocument.Load(@"Mock\myDoc.html");
Das Problem ist, dass XDocument.Load
den Pfad von Projekt A verwendet (wo gibt es keine Mock\myDoc.html
).
Ich habe versucht,
string curDir = Directory.GetCurrentDirectory();
var path = String.Format("file:///{0}/Mock/myDoc.html", curDir);
verwenden, aber das gibt mir auch einen Weg zu ProjectA\Mock\myDoc.html
wenn stattdessen sollte es ProjectB\Mock\myDoc.html
sein. Was vermisse ich?
EDIT: "Copy to Output" für die Datei "myDoc.html" auf "Copy immer" und die Datei im Ausgabeordner der Projekt B zur Verfügung.
in Projekt B, wählen Sie 'Mock \ myDoc.html' => zum Ausgabeverzeichnis kopieren http://stackoverflow.com/questions/4596508/vs2010-how-to-include-files-in-project- to-copy-them-to-build-output-directory-a –
Es ist bereits auf CopyToOutput-Verzeichnis festgelegt. Projekt B hat ein anderes Ausgabeverzeichnis als Projekt A. – peter
Alle Dateioperationen beziehen sich auf das aktuelle (Arbeits) -Verzeichnis des Prozesses. Dies hat keine Beziehung zu den Ordnern, in denen sich Ihr Projekt befindet. Um relative Pfade zu verwenden, müssen Sie das aktuelle Verzeichnis festlegen. Dass es sich derzeit um den Ausgabeort eines Projekts handelt, sind lediglich Standardwerte vom Startvorgang. – Richard