2017-04-26 1 views
0

J'utilise un fichier resx géré de manière externe (non compilé) via ResXResourceReader. Je l'ai essayé d'utiliser les ressources de fichiers avec des chemins relatifs (à l'emplacement resx) comme ci-dessousRessource Resx, Fichier avec le chemin relatif

<data name="myfilename" type="System.Resources.ResXFileRef"> 
<value>..\..\files\a.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value> 

Mais il donne l'erreur, sous forme de fichier non disponible. Alors, comment ajouter le chemin du fichier en tant que relatif? Cela devrait-il être relatif à la corbeille de l'application?

+1

le rendre relatif à .exe. Utilisez 'Application.StatupPath' comme emplacement .exe. – Nino

+1

Essayez d'abord de définir la propriété [ResXResourceReader.BasePath] (https://msdn.microsoft.com/en-us/library/system.resources.resxresourceread.basepath.aspx) avant d'énumérer des ressources. La propriété 'BasePath' est utilisée pour résoudre les chemins de fichiers relatifs. Par défaut, tous les chemins de fichiers relatifs sont résolus en utilisant [Environment.CurrentDirectory] (https://msdn.microsoft.com/en-us/library/system.environment.currentdirectory.aspx) si la valeur de la propriété 'BasePath' est vide. – IronGeek

Répondre

0

Merci à @IronGeek, capables de résoudre par

ResXResourceReader rsxr = new ResXResourceReader (resourcePath); rsxr.BasePath = "chemin de base"