Comment charger à partir d'un chemin d'accès relatif en application WPF?
Je suis en train de lire un fichier xml et que vous voulez faire à partir d'un répertoire relatif en fonction de l'emplacement de l'application, comme ASP.NET avec le Serveur.MapPath ou à l'aide de la tilda.
Comment pouvez-vous obtenir le chemin d'accès relatif dans WPF?
WORKS: XDocument xmlDoc = XDocument.Load(@"c:\testdata\customers.xml");
DOES NOT WORK: XDocument xmlDoc = XDocument.Load(@"~\Data\customers.xml");
DOES NOT WORK: XDocument xmlDoc = XDocument.Load(@"~/Data/customers.xml");
OriginalL'auteur Edward Tanguay | 2009-04-30
Vous devez vous connecter pour publier un commentaire.
OU
BTW, cela n'a rien à voir avec WPF et tout à voir avec les chemins d'accès Windows.
Je suggère de l'Environnement.CurrentDirectory est ce que vous attendez, et de s'assurer que les Customers.xml le fichier est là où vous vous attendez à la sortie.
string directory = Système.IO.Répertoire.GetCurrentDirectory();
urm... pourquoi est-ce accepté de répondre, s'il n'a pas l'air de travailler " cette réponse m'inquiète cos si le répertoire courant des changements, ça ne marchera pas
OriginalL'auteur Kent Boogaart
Je suppose que le
Data
répertoire est déployé avec votre application, dans le même répertoire racine de votre EXE. C'est généralement sans danger, à l'exception de l'ombre de la copie est en cause; par exemple, lorsque vous utilisez NUnit pour tester ce code. (Avec l'ombre de la copie, les assemblées qui composent votre application copiés dans un répertoire temporaire, mais les fichiers comme cela s'est laissé derrière.)En supposant que vous n'avez pas l'intention de modifier
customers.xml
après le déploiement, la meilleure façon de gérer cela est d'intégrer le fichier en tant que ressource au sein de votre assemblée.OriginalL'auteur Tim Robinson
Essayer
File.Create("./HiImHere.txt")
pour voir où est le point de répertoire; après cela, essayez le chemin d'accès par rapport à l'endroit oùHiImHere.txt
est.OriginalL'auteur Ahm