猿问

C#获取%AppData%的路径

C#获取%AppData%的路径

C#2008 SP1

我使用的代码如下:

dt.ReadXml("%AppData%\\DateLinks.xml");

但是,我得到了一个异常,它指向我的应用程序从何处运行的位置:

找不到路径‘D:\Projects\SubVersionProjects\CatDialer\bin\Debug\%AppData%\DateLinks.xml’.的一部分

我以为%AppData%应该找到相对路径。当我离开Start|Run|%AppData%Windows资源管理器带我到那个目录。

我不能把完整的路径放进去,因为用户在每台客户端机器上都是不同的。


蓝山帝景
浏览 1056回答 3
3回答

ABOUTYOU

为了得到AppData目录中,最好使用GetFolderPath方法:Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)(必须加上using System如果没有出席)。%AppData%是一个环境变量,并且它们不会在.NET中的任何地方自动展开,尽管您可以显式地使用Environment.ExpandEnvironmentVariable方法这样做。我仍然强烈建议你用GetFolderPath然而,正如约翰·罗塞尔在评论中所指出的,%AppData%不能在某些情况下设定。最后,如示例所示,创建路径:var fileName = Path.Combine(Environment.GetFolderPath(     Environment.SpecialFolder.ApplicationData), "DateLinks.xml");
随时随地看视频慕课网APP
我要回答