Les chemins relatifs dans C# agissent visiblement pour moi. Dans un cas Im manipulant un ensemble d'objets Texture2d à mon application, c'est prendre le nom de fichier et l'utiliser pour localiser les fichiers et charger les textures dans les objets Image. Je charge ensuite une image à partir d'un chemin relatif stocké dans le fichier de classe et utilise un chemin relatif qui doit être relatif à Content/gfx. Mais si je ne charge pas ces textures, ces chemins relatifs échoueront. Comment puis-je garantir que mon chemin de rel ne va pas échouer? Dans le travail sur le Web, tous les chemins rel sont relatifs au dossier dans lequel le fichier dans lequel nous travaillons, puis-je le configurer de cette façon et faire tous les chemins rel dans le dossier racine où se trouve mon application?Chemins relatifs dans Winforms
Répondre
Je recommande de ne pas utiliser de chemins relatifs en premier lieu. Utilisez Path.Combine pour transformer vos chemins relatifs en chemins absolus. Par exemple, vous pouvez l'utiliser pour obtenir le chemin complet à votre EXE démarrage:
string exeFile = (new System.Uri(Assembly.GetEntryAssembly().CodeBase)).AbsolutePath;
Une fois que vous avez, vous pouvez l'obtenir est le répertoire:
string exeDir = Path.GetDirectoryName(exeFile);
et tournez votre chemin par rapport à un absolu chemin:
string fullPath = Path.Combine(exeDir, "..\\..\\Images\\Texture.dds");
Cela sera beaucoup plus fiable que d'essayer d'utiliser des chemins relatifs.
Merci beaucoup pour les deux premières lignes, j'étais juste à la recherche. J'utiliserais '@' dans la troisième ligne pour éviter les doubles backslashs cependant. – radbyx
Si mon répertoire contient un espace, il ne peut pas trouver le chemin, mais si ce n'est pas le cas, cela fonctionne très bien. – Xaisoft
Si vous attendez une ressource pour être dans le même répertoire que le fichier exécutable ou dans un sous-répertoire de ce répertoire, il est préférable d'utiliser toujours
string fullPath = System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), subPath);
ou si vous craignez que le répertoire de travail Peut-être que vous avez tort, vous pouvez le faire:
string fullPath = System.IO.Path.Combine(System.Reflection.Assembly.GetEntryAssembly().Location, subPath);
// [espace de nom] est l'espace de nom // vous devez copier votre fichier .-- dans le fichier Depug
string path = (Assembly.GetEntryAssembly().Location + "");
path = path.Replace("name space", "filename.--");
// [WindowsFormsApplication4] is name space
//you should copy your "mysound.wav" into Depug file
//example::
string path_sound = (Assembly.GetEntryAssembly().Location + "");
path_sound = path_sound.Replace("WindowsFormsApplication4.exe", "mysound.wav");
SoundPlayer player1 = new SoundPlayer(path_sound);
player1.Play();
- 1. chemins de fichiers relatifs
- 2. Expressions régulières et chemins de fichier relatifs
- 3. Chemins relatifs avec NCover et MSTest.exe
- 4. Interception de tous les chemins relatifs
- 5. ASP.Net MVC et RenderPartial w/chemins relatifs
- 6. Expliquer les chemins relatifs - VWD vs IIS
- 7. ASP.NET: Chemin.Combine avec des chemins relatifs
- 8. SSRS dans Visual Studio 2008: chemins d'image relatifs?
- 9. Comment combiner deux chemins, y compris les chemins relatifs vers l'arrière?
- 10. Conseils relatifs à l'aspect et à la convivialité de Winforms
- 11. Validation de XML avec plusieurs XSD en utilisant des chemins relatifs dans .NET
- 12. Chemins de fichier dans ASP.net
- 13. XSL utilisation d'importation pour localiser les chemins de fichiers relatifs sous Windows
- 14. Site MVC utilisant des chemins relatifs pour les liens au lieu de la syntaxe de vue
- 15. Débutant RegEx Question - PHP RegEx pour autoriser uniquement les chemins relatifs (pas les URL)
- 16. StreamWriter fonctionne-t-il de manière incohérente avec les chemins relatifs?
- 17. Comment puis-je utiliser javascript pour convertir les attributs href relatifs en chemins absolus?
- 18. Est-il possible d'utiliser des chemins relatifs pour les fichiers dtsConfig de packages SSIS?
- 19. Inclure les fichiers relatifs à PowerShell
- 20. Des chemins relatifs peuvent-ils être utilisés lors de l'utilisation de "include-libraries" dans le compilateur Flex mxmlc?
- 21. Chemins dynamiques dans Helper
- 22. WinForms infobulle dans WinForms DataGridViewImageColumn
- 23. Chemins de cadre iPhone?
- 24. Récupération des chemins des instances FileSystemInfo
- 25. Sous-type: existe-t-il un moyen de faire en sorte que Team> Create Patch utilise des chemins relatifs?
- 26. Chemins dans les pages maîtres
- 27. python importation de modules relatifs
- 28. Jours naturels/relatifs en Python
- 29. Est-il possible que des applications Web IIS/SharePoint séparées partagent le même nom d'hôte mais des chemins relatifs différents?
- 30. Tests unitaires Avec SimpleTest en PHP, vous obtenez des erreurs de répertoire de fichiers à partir de chemins relatifs?
Est-ce en debug ou en mode déployé? –