C# 2008 SP1

我正在使用下面的代码:

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

然而,我得到一个异常,指向我的应用程序正在运行的位置:

找不到路径的一部分 D: \ SubVersionProjects \ CatDialer \ bin \ \项目调试\ % AppData % \ DateLinks.xml”。

我认为%AppData%应该找到相对路径。当我开始|运行|%AppData% windows资源管理器带我到那个目录。

我不能输入完整的路径,因为每个客户端机器上的用户是不同的。


当前回答

只是想分享另一种方式访问'App_Data'文件夹在我的mvc应用程序,以防有人需要这个。

 Path.Combine(HttpRuntime.AppDomainAppPath,"App_Data")

其他回答

在。net2.0中,可以使用变量Application。UserAppDataPath

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

这是为我工作在控制台应用程序-

string appData = System.Environment.GetEnvironmentVariable("APPDATA");

你也可以使用

Environment.ExpandEnvironmentVariables("%AppData%\\DateLinks.xml");

展开%AppData%变量。

AppData⇝本地aka (C:\Users\<user>\AppData\Local):

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)

AppData⇝漫游aka (C:\Users\<user>\AppData\漫游):

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)

此外,了解以下信息可能会很方便:

programfiles -用于程序文件X64文件夹 Environment.SpecialFolder。ProgramFilesX86 -用于程序文件X86文件夹

查看完整的列表。