C# 2008 SP1
I am using the code below:
dt.ReadXml("%AppData%\\DateLinks.xml");
However, I am getting an exception that points to the location of where my application is running from:
Could not find a part of the path 'D:\Projects\SubVersionProjects\CatDialer\bin\Debug\%AppData%\DateLinks.xml'.
I thought the %AppData%
should find the relative path. When I go Start|Run|%AppData%
windows explorer takes me to that directory.
I can not put the full path in, as the user is different on each client machine.
Meskipun C dibuat untuk memprogram sistem dan jaringan komputer namun bahasa ini juga sering digunakan dalam mengembangkan software aplikasi. C juga banyak dipakai oleh berbagai jenis platform sistem operasi dan arsitektur komputer, bahkan terdapat beberepa compiler yang sangat populer telah tersedia.
C adalah huruf ketiga dalam alfabet Latin. Dalam bahasa Indonesia, huruf ini disebut ce (dibaca [tʃe]).
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");
The BEST way to use the AppData directory, IS to use Environment.ExpandEnvironmentVariables
method.
Reasons:
Examples:
string path; path = @"%AppData%\stuff"; path = @"%aPpdAtA%\HelloWorld"; path = @"%progRAMfiLES%\Adobe;%appdata%\FileZilla"; // collection of paths path = Environment.ExpandEnvironmentVariables(path); Console.WriteLine(path);
More info:
%ALLUSERSPROFILE% C:\ProgramData %APPDATA% C:\Users\Username\AppData\Roaming %COMMONPROGRAMFILES% C:\Program Files\Common Files %COMMONPROGRAMFILES(x86)% C:\Program Files (x86)\Common Files %COMSPEC% C:\Windows\System32\cmd.exe %HOMEDRIVE% C: %HOMEPATH% C:\Users\Username %LOCALAPPDATA% C:\Users\Username\AppData\Local %PROGRAMDATA% C:\ProgramData %PROGRAMFILES% C:\Program Files %PROGRAMFILES(X86)% C:\Program Files (x86) (only in 64-bit version) %PUBLIC% C:\Users\Public %SystemDrive% C: %SystemRoot% C:\Windows %TEMP% and %TMP% C:\Users\Username\AppData\Local\Temp %USERPROFILE% C:\Users\Username %WINDIR% C:\Windows
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With