C# 2008 SP1
我正在使用下面的代码:
dt.ReadXml("%AppData%\\DateLinks.xml");
但是,我收到一个指向我的应用程序运行位置的异常:
Could not find a part of the path 'D:\Projects\SubVersionProjects\CatDialer\bin\Debug\%AppData%\DateLinks.xml'.
我认为 %AppData%
应该找到相对路径。当我进入 Start|Run|%AppData%
时,windows 资源管理器将我带到该目录。
我无法输入完整路径,因为每个客户端计算机上的用户都不同。
最佳答案
要获取AppData目录,最好使用GetFolderPath
方法:
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
(如果不存在,必须添加 using System
)。
%AppData%
是一个环境变量,它们不会在 .NET 中的任何地方自动扩展,尽管您可以显式使用 Environment.ExpandEnvironmentVariable
这样做的方法。但是,我仍然强烈建议您使用 GetFolderPath
,因为正如 Johannes Rössel 在评论中指出的那样,在某些情况下可能不会设置 %AppData%
。
最后,创建示例中所示的路径:
var fileName = Path.Combine(Environment.GetFolderPath(
Environment.SpecialFolder.ApplicationData), "DateLinks.xml");
关于C# 获取 %AppData% 的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/867485/