我有一个将在桌面应用程序和 asp.net 网站中使用的组件。
在任何一种情况下,我都需要处理相对路径(本地文件,而不是 url)。
我怎样才能实现这个方法?
string ResolvePath(string path);
在 web envronment 下,我希望该方法的行为如下(d:\wwwroot\mywebsite
iis 指向的文件夹在哪里):
/folder/file.ext => d:\wwwroot\mywebsite\folder\file.ext
~/folder/file.ext => d:\wwwroot\mywebsite\folder\file.ext
d:\wwwroot\mywebsite\folder\file.ext => d:\wwwroot\mywebsite\folder\file.ext
对于桌面环境:(c:\program files\myprogram\bin\
.exe 的路径在哪里)
/folder/file.ext => c:\program files\myprogram\bin\folder\file.ext
c:\program files\myprogram\bin\folder\file.ext => c:\program files\myprogram\bin\folder\file.ext
我宁愿不IPathResolver
根据其运行的状态注入不同的。
如何检测我所处的环境,然后在每种情况下我需要做什么来解决可能的相对路径?
谢谢