Aplikacja C# uruchamiana z harmonogramu zadań, a ścieżki (bez)względne

0

Cześć,

Mam takie pytanie, prosty kod, odwołuję się do ścieżki względnej i harmonogram nie wykonuje mi zadania z kodem
Harmonogram zadań pomyślnie ukończył zadanie „\test”, wystąpienie „{009cffb8-d1ad-4326-9a2f-4d75f453e607}”, akcja „C:\!moje\workspaceVS\testHarmonogram\testHarmonogram\bin\Debug\testHarmonogram.exe”, kod zwrotny: 3762504530.
w dzienniku aplikacji widzę, że problemem jest exception IO - file not found.
Gdy przerobię ścieżkę na bezwzględną, wszystko działa ok. Aplikacja uruchomiona z execa działa ok w przypadku obu ścieżek. Użytkownik lokalny.

string fileName = ".\\test\\xxx.txt"; //nie działą w harmonogramie
//string fileName = "e:\\test\\xxx.txt"; //działa harmonogramie 
var lines = File.ReadLines(fileName); 

Na szczęście nie było dla mnie problemem przerobienie w aplikacji ścieżek na bezwzględne, ale nie daje mi spokoju co jest przyczyną takiego działania? Jak działa harmonogram, że nie można odwołać się do ścieżki zewnętrznej aplikacji w sposób względny? On sobie kopuje execa do jakiegoś swojego tempa i musiał bym tam też przerzucić plik testowy?

Pozdrawiam,
Maciej

0

Tu nie chodzi o kopiowanie execa, tylko przyczyną jest inny bieżący katalog. O ile pamiętam możesz odczytać go przez <a href=https://msdn.microsoft.com/pl-pl/library/system.environment.currentdirectory(v=vs.110).aspx>Environment.CurrentDirectory</a>

Jak sobie z tym poradzić? Najpierw poszukać czy ktoś już się natknął na taki problem:

http://stackoverflow.com/questions/8313385/how-to-get-application-folder-when-program-is-started-by-windows-task-scheduler

0

Dzięki,
Szukałem odpowiedzi, ale w sumie to za bardzo nie wiedziałem jak sformułować pytanie. Najważniejszym w uzyskaniu odpowiedzi jest wiedzieć o co dokładnie zapytać ;-)
Pozdrawiam,

1 użytkowników online, w tym zalogowanych: 0, gości: 1