C#中的相对路径对我来说很复杂.在一种情况下,我将一组Texture2d对象处理到我的应用程序,它获取文件名并使用它来定位文件并将纹理加载到Image对象中.然后,我从存储在类文件中的相对路径加载图像,并使用需要相对于Content/gfx的相对路径.但如果我不加载这些纹理,这些相对路径将失败.我怎样才能认识到我的相对路径不会失败?在Web工作中,所有rel路径都与我们正在处理的文件所在的文件夹相关,我可以这样设置它并将所有rel路径设置为我的应用程序所在的根文件夹吗?
Ree*_*sey 20
我建议不要首先使用相对路径.
使用Path.Combine将相对路径转换为绝对路径.例如,您可以使用它来获取启动EXE的完整路径:
string exeFile = (new System.Uri(Assembly.GetEntryAssembly().CodeBase)).AbsolutePath;
Run Code Online (Sandbox Code Playgroud)
一旦你有了,你可以得到它的目录:
string exeDir = Path.GetDirectoryName(exeFile);
Run Code Online (Sandbox Code Playgroud)
并将您的相对路径转换为绝对路径:
string fullPath = Path.Combine(exeDir, "..\\..\\Images\\Texture.dds");
Run Code Online (Sandbox Code Playgroud)
这比尝试使用相对路径更可靠.
| 归档时间: |
|
| 查看次数: |
18838 次 |
| 最近记录: |