myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Grundlagen von C# » Application.StartupPath - letzter Ordner fehlt
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Application.StartupPath - letzter Ordner fehlt

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
da_user da_user ist männlich
myCSharp.de-Mitglied

Dabei seit: 21.08.2008
Beiträge: 90
Entwicklungsumgebung: VS 2015 Comunity
Herkunft: nähe Regensburg


da_user ist offline Füge da_user Deiner Kontaktliste hinzu

Application.StartupPath - letzter Ordner fehlt

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hi,
ich suche einen Weg das Verzeichnis in dem sich meine .exe befindet zu ermitteln. Ich bin ja  dort schon fündig geworden mit

C#-Code:
Application.StartupPath

Allerdings habe ich damit ein Problem: der letzte Ordner fehlt!
Die .exe befindet sich im Debug-Modus also beispielsweise in

Code:
1:
*Benutzer*\Documents\Visual Studio 2017\Projects\*Projektname*\*Projektname*\bin\x64\Debug

Dann liefert mir aber Application.StartupPath den Ordner

Code:
1:
*Benutzer*\Documents\Visual Studio 2017\Projects\*Projektname*\*Projektname*\bin\x64\

Gibt es dafür eine Lösung, oder mache ich da irgendwas falsch?

VG
Matthias
13.02.2019 19:07 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 13.234
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Du hast in dem Thread gelesen, dass StartupPath falsche Ergebnisse liefern kann und wie man besser den Pfad ermittelt?
13.02.2019 20:09 Beiträge des Benutzers | zu Buddylist hinzufügen
da_user da_user ist männlich
myCSharp.de-Mitglied

Dabei seit: 21.08.2008
Beiträge: 90
Entwicklungsumgebung: VS 2015 Comunity
Herkunft: nähe Regensburg

Themenstarter Thema begonnen von da_user

da_user ist offline Füge da_user Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ja, aber auch dass die anderen Methoden ebenfalls ihre Probleme haben. So die eine "beste" Lösung lese ich da ehrlich gesagt nicht heraus.

Höchstens noch "Path.GetDirectoryName (Assembly.GetExecutingAssembly ().Location);"
Der scheint auch soweit auch zu funktionieren, aber funktioniert der immer wenn die Voraussetzung gegeben ist, dass der Befehl in der exe steckt? Kann ich mich darauf verlassen?

Application.StartupPath habe ich bis dato auch schon öfter verwendet und jetzt ist es das erste Mal, dass dieses Problem auftritt und gefühlt mache ich eigentlich auch nix anders als sonst. Und ich arbeite auch nicht an einem Dienst, sondern an einer ganz normalen Windows.Form-Anwendung.
13.02.2019 20:27 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 13.234
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Es ist nicht neu, dass Application.StartupPath nicht zuverlässig ist, im Gegensatz zu den anderen Varianten.
Der Thread ist mehr als 10 Jahre alt.

Und natürlich kann es sein, dass je nach eingesetztem .NET Projekttyp eben Variante A, B oder dann eben F besser ist. "Beste" ist daher hinfällig.
Absolutismus bei sich weiter entwickelnden Technologien ist halt schwierig...steht alles klar in dem FAQ-Thread.
13.02.2019 20:39 Beiträge des Benutzers | zu Buddylist hinzufügen
da_user da_user ist männlich
myCSharp.de-Mitglied

Dabei seit: 21.08.2008
Beiträge: 90
Entwicklungsumgebung: VS 2015 Comunity
Herkunft: nähe Regensburg

Themenstarter Thema begonnen von da_user

da_user ist offline Füge da_user Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Naja, ich bleib jetzt erstmal bei "Path.GetDirectoryName (Assembly.GetExecutingAssembly ().Location);", mal sehen...

BTW, wenn der Thread ja praktisch schon veraltet ist:
Gibt es da heutzutage bessere/andere Varianten?

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von da_user am 13.02.2019 20:53.

13.02.2019 20:49 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 13.234
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Wo genau soll denn der Thread veraltet sein? verwundert Magst das mal erklären?
Alle .NET Technologien (.NET Framework, .NET Standard, .NET Core) sowie WPF, WinForms und der ASP.NET Stack sind abgedeckt.
Was fehlt Dir denn?

Xamarin funktioniert ganz anders, ebenso UWP - da hast Du keinen Startpfad sondern ohnehin nur isolierte Apps.
Gleicher Blazor.
13.02.2019 23:57 Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 9 Monate.
Der letzte Beitrag ist älter als 9 Monate.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 06.12.2019 12:23