C# getting the path of %AppData%

后端 未结 10 2264
无人共我
无人共我 2020-11-22 13:50

C# 2008 SP1

I am using the code below:

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

However, I am getting an exception that points t

10条回答
  •  旧巷少年郎
    2020-11-22 14:41

    To get the AppData directory, it's best to use the GetFolderPath method:

    Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
    

    (must add using System if not present).

    %AppData% is an environment variable, and they are not automatically expanded anywhere in .NET, although you can explicitly use the Environment.ExpandEnvironmentVariable method to do so. I would still strongly suggest that you use GetFolderPath however, because as Johannes Rössel points out in the comment, %AppData% may not be set in certain circumstances.

    Finally, to create the path as shown in your example:

    var fileName = Path.Combine(Environment.GetFolderPath(
        Environment.SpecialFolder.ApplicationData), "DateLinks.xml");
    

提交回复
热议问题