2017-04-26 109 views
0

我通过ResXResourceReader使用外部托管的resx文件(非编译的)。我曾尝试使用相对路径的文件资源(到RESX位置),如下Resx资源,具有相对路径的文件

<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> 

尝试,但它给了错误,因为没有可用的文件。那么如何将文件路径添加为相对?它应该与应用程序的bin有关吗?

+1

使其相对于.exe。使用'Application.StatupPath'作为.exe位置。 – Nino

+1

在枚举任何资源之前,请先尝试设置[ResXResourceReader.BasePath属性](https://msdn.microsoft.com/en-us/library/system.resources.resxresourcereader.basepath.aspx)。 'BasePath'属性用于解析相对文件路径。默认情况下,如果'BasePath'属性值为空,则所有相关文件路径均使用[Environment.CurrentDirectory](https://msdn.microsoft.com/en-us/library/system.environment.currentdirectory.aspx)解析。 – IronGeek

回答

0

由于@IronGeek,能够经由

ResXResourceReader rsxr =新ResXResourceReader(resourcePath)来解决; rsxr.BasePath =“basepath”