【发布时间】:2011-09-13 09:29:52
【问题描述】:
我希望能够做这样的事情:
IO.Directory.Exists("%USERPROFILE%")
原因是我想指定我的应用程序将使用的目录之一,作为配置文件中的纯文本。在某些情况下,我希望它嵌套在用户配置文件下,在这种情况下,配置文件的内容如下:
...
LocalDbDirectory = %USERPROFILE%\Application Data\My Toolkit\
...
或者我可能希望它位于网络位置,在这种情况下,它会显示如下内容:
...
LocalDbDirectory = N:\Common\My Toolkit Databases\
...
所以我需要能够使用 IO.Directory.Exists(...) 等方法或等效方法来解释速记符号。
有什么想法吗?
【问题讨论】:
-
在 .NET 应用程序中依赖环境变量不是很安全,如果设置 USERPROFILE=~/,那么 System.IO.Directory.Exists(path) 将始终返回 false,但设置 USERPROFILE=。或设置 USERPROFILE=/ somtimes 可能会起作用,具体取决于当前的 worknig 文件夹
标签: .net windows special-folders