2013-09-24 12 views
5

Ho effettuato alcune ricerche approfondite sulla rete, ma non riesco a trovare una soluzione concreta al problema che sto affrontando. Il più vicino era questo articolo ... ma ancora nessuna soluzione :(scheduled task run .exe problemMicrosoft Server 2008 R2 non scrive nel file di testo dall'Utilità di pianificazione

Fondamentalmente l'ambiente è un Windows Server 2008 R2 con un'applicazione di console C#. Quando eseguo manualmente l'applicazione della console viene creato un file di testo (usando NLog) e accodato, tuttavia quando eseguo la console da Windows Scheduler usando l'account Domain Administrator, l'applicazione viene eseguita (come decifrato dai log di Event Viewer) ma il file di testo non viene creato/accodato.Ho anche provato a cambiare l'account che esegue la pianificazione attività (dall'amministratore di dominio all'account amministratore locale) ma il problema persiste ancora

Non riesco a pensare a nient'altro che posso fare. Qualsiasi idea fresca è apprezzata :)

+0

dove scrivi il file? Sei sicuro che l'applicazione possa scrivere in questo percorso in questo particolare contesto (operazione pianificata)? – Xaruth

+1

inoltre, puoi pubblicare il codice per scrivere il file. assicurati di speci fi care il percorso completo di NLog perché eseguendo task significa che la directory di lavoro sarà diversa. – SmithMart

risposta

8

pensiero id posta come risposta, come è più facile mettere il codice in:

assicurarsi di specificare il percorso completo del NLog:

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

quando si esegue come un'operazione pianificata la directory di lavoro di la tua applicazione può essere diversa, come l'esecuzione sotto sistema significa che la directory di lavoro è C: \ Windows \ System32.

questo potrebbe essere il vostro problema.

Problemi correlati