Entonces ... solía pensar que cuando accedía a un archivo pero especificaba el nombre sin una ruta (CAISLog.csv en mi caso), .NET esperaría que el archivo residiera en la misma ruta que el .exe en ejecución.¿Cómo funciona la resolución de ruta predeterminada/relativa en .NET?
Esto funciona cuando estoy pasando a través de una solución (C# .NET2. * VS2K5), pero cuando corro la aplicación en modo normal (comenzó con un Websphere MQ gatillo monitorear & ejecuta en segundo plano como un servicio de red) en lugar de acceder al archivo en la ruta donde el .exe se está buscando en C: \ WINDOWS \ system32. Si importa .exe de la tarea de los padres es casi de la misma estructura de carpetas/camino que mi aplicación
recibo un error de coincidencia: "System.UnauthorizedAccessException: acceso a la ruta 'C: \ WINDOWS \ system32 \ CAISLog. csv 'está denegado. "
Mi solución consiste en calificar completamente la ubicación de mi archivo. Sin embargo, lo que quiero entender es "¿Qué es la regla .NET que rige cómo se resuelve una ruta cuando solo se especifica el nombre del archivo durante IO?" Siento que me falta un concepto básico y me está molestando.
editar - No estoy seguro de que sea una regla .NET per se pero Schmuli parece estar explicando el concepto un poco más claro. Definitivamente intentaré las sugerencias de Rob Prouse en el futuro así que +1 en eso también.
Si alguien tiene algunas sugerencias de reformulación que hacen hincapié en que no realmente se preocupan por encontrar la ruta de acceso a mi .exe, simplemente no entendía qué estaba pasando con la resolución de ruta relativa (y aún puedo tiene mi terminología jodida) ...
Gracias - Creo que esto ayuda más –