2012-09-02 13 views
5

Wenn ich Application.StartupPath oder AppDomain.CurrentDomain.BaseDirectory verwende Es Suche in einem bin \ debug Ordner für die Datei , aber ich muss einen Ordner aus meinem Stammverzeichnis "Resources \ imagefile.png" in Ma C# .net Projekt!So lesen Sie die Datei im Windows-Anwendungsstammverzeichnis in C# .net?

Filestream fs; 
fs = new Filestream(AppDomain.CurrentDomain.BaseDirectory + "folder\\imagefile.png"); 

Wie Code schreiben soll Datei von meinem Root-Verzeichnis trotz der Verwendung von oben Code oder einem vollständigen Pfad des Verzeichnisses zu lesen, die „@C: .......“ ist und sogar Server. MapPath können wir nicht benutzen.

Zu meinem Anwendungspfad zu bekommen, aber das gibt so etwas wie C: \ Projects \ XYZ \ ABC \ bin \ Debug

i bin \ Debug .ist nicht dort jede mögliche Weise wollen, dies zu erreichen ?

+1

prüfen diese Frage SO: [Pfad zu Dateien in einem VS2010 Projekt Ressourcen] (http://stackoverflow.com/a/12212517/540352) – Laoujin

+0

Sehen Sie diese bitte : [http://stackoverflow.com/questions/12236114/read-file-from-root-directory-folder-using-filestream][1] [1]: http://stackoverflow.com/questions/12236114/read-file-from-root-directory-fol der-using-filestream – RollingCog

+0

Ich brauche nur zu Hauptanwendungsordner und ich habe genau das herausgefunden; Zeichenfolge Pfad = AppDomain.CurrentDomain.BaseDirectory.IndexOf ("bin")) + @ "\ ImageName.jpg"); – Erdogan

Antwort

4

Durch die Environment.CurrentDirectory Mit

string yourpath = Environment.CurrentDirectory + @"\YourImage.jpg"; 
FileStream stream = new FileStream(yourpath, FileMode.Open, FileAccess.Read); 
Image image = Image.FromStream(stream); 
stream.Close(); 
+4

Verwenden Sie 'Path.Combine (Environment.CurrentDirectory," YourImage.jpg ")' stattdessen. – abatishchev

4

Im Allgemeinen würden Sie diese Elemente zum Kopieren in den Ordner bin festlegen. Klicken Sie mit der rechten Maustaste in den Solution Explorer/Navigator, wählen Sie Eigenschaften und setzen Sie "Copy to output directory" auf etwas anderes.

+0

Wenn ich diese Datei setze Kopieren, um Verzeichnis aus meinem Ordner auszugeben, aber wie soll ich meinen Stammordner lesen! dann, wenn ich eine Setup-Datei für ma-Programm machen werde dann kann ich diese Datei von MA-Programm abrufen ?? – KiranSolkar

+0

Was meinst du mit "Stammordner"? Der Ordner, in dem sich Ihre EXE befindet? – spender

+0

Nein, wo außerhalb des Ordners, in dem ich die Lösung starte – KiranSolkar