2013-09-24 1 views
5

Я провел несколько подробных поисков по сети, однако я не могу найти конкретного решения проблемы, с которой я столкнулся. Самая близкая была эта статья ... но до сих пор нет решения :(scheduled task run .exe problemMicrosoft Server 2008 R2 не записывается в текстовый файл из планировщика задач

В основном это среда Windows Server 2008 R2 с консольным приложением C#. При запуске консольного приложения вручную создается текстовый файл (с использованием NLog) и при добавлении, однако, когда я запускаю консоль из планировщика Windows, используя учетную запись администратора домена, приложение запускается (как я расшифровал из журналов просмотра событий), но текстовый файл не создается/не добавляется. Я также попытался изменить учетную запись, которая запускает запланированный (от администратора домена до учетной записи локального администратора), но проблема по-прежнему сохраняется.

Не могу придумать что-либо еще, что я могу сделать. Любые свежие идеи оценены :)

+0

где вы пишете файл? Вы уверены, что приложение может писать по этому пути в этом конкретном контексте (запланированная задача)? – Xaruth

+1

также, можете ли вы опубликовать код для записи файла. убедитесь, что вы специфицируете полный путь к NLog как выполняемый как задача, значит, рабочий каталог будет другим. – SmithMart

ответ

8

мысль идентификатор сообщения в ответ, как это проще поставить код:

убедитесь, что вы указать полный путь к NLog:

string filepath = Path.Combine(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location),"NLog.txt"); 

при работе в качестве запланированной задачи рабочего каталога ваше приложение может быть другим, например, работать под системой означает, что рабочий каталог C: \ Windows \ System32.

это может быть ваша проблема.