C# 2008 SP1C# conseguir el camino de% AppData%
Estoy utilizando el código de abajo:
dt.ReadXml("%AppData%\\DateLinks.xml");
Sin embargo, yo estoy haciendo una excepción que apunta a la ubicación del lugar donde se está ejecutando mi solicitud a partir de:
no se pudo encontrar una parte de la ruta de 'D: \ Proyectos \ SubVersionProjects \ CatDialer \ bin \ Debug \% AppData% \ DateLinks.xml'.
Pensé que el %AppData%
debería encontrar la ruta relativa. Cuando voy al Start|Run|%AppData%
, Windows Explorer me lleva a ese directorio.
No puedo ingresar la ruta completa, ya que el usuario es diferente en cada máquina cliente.
Muchas gracias por cualquier consejo,
+1 por ofrecer una solución real, sin depender del medio ambiente. Para agregar a la respuesta: no todas las funciones que manejan nombres de archivos amplían las variables de entorno. De hecho, generalmente tiene que hacer esto explícitamente, de lo contrario no funciona y terminará con% something% folders. Además, el entorno no necesita estar presente, en algunos casos cuando se ejecuta un programa en otro usuario cuenta el entorno del usuario no se cargará y% Appdata% estará vacía. Es por eso que desearía utilizar las API documentadas para obtener esas carpetas (a menos que esté usando archivos por lotes). – Joey
@Johannes: buena información allí. Acabo de modificar mi respuesta al publicarla, pero dejaré en claro que GetFolderPath es definitivamente preferible a ExpandEnvironmentVariable. – Noldorin
+1 para Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData), estaba detrás de esto por un par de días. –