J'ai écrit quelques applications C# que je fais tourner via le planificateur de tâches de Windows. Elles s'exécutent correctement (comme je peux le voir dans les fichiers journaux qu'elles écrivent), mais le planificateur de tâches de Windows indique qu'elles renvoient un résultat de dernière exécution de 0xE0434352
. Y a-t-il quelque chose que je doive faire dans mon application C# pour qu'elle renvoie un code de réussite au planificateur de tâches de Windows ?
Réponses
Trop de publicités?J'ai obtenu la même erreur, mais je l'ai corrigée en changeant le chemin de lecture du fichier de "ConfigFile.xml" à AppDomain.CurrentDomain.BaseDirectory.ToString() + "ConfigFile.xml"
Dans mon cas, cette erreur est due à une erreur de chemin de fichier car le gestionnaire de tâches lance le programme à partir de "System32" comme chemin initial mais le dossier que nous pensions.
J'ai obtenu le même message avec dotNet Core 2.2 en utilisant MVC 5, mais rien n'a été enregistré dans l'observateur d'événements Windows.
J'ai découvert que j'avais changé le Project sdk de Microsoft.NET.Sdk.Web
a Microsoft.NET.Sdk.Razor
(vu à l'intérieur de la projects.csproj
). J'ai changé cela et cela a bien fonctionné :)
J'ai rencontré ce problème en travaillant avec des objets COM. Dans certaines circonstances (ma faute), j'ai détruit un processus .EXE externe, dans un thread parallèle, une variable a essayé d'accéder à l'interface com app.method et un crash au niveau COM s'est produit. Le planificateur de tâches l'a remarqué et a arrêté l'application. Mais si vous exécutez l'application dans la console et que vous ne traitez pas l'exception, l'application continuera à fonctionner ...
Veuillez noter que si vous utilisez du code non géré ou des objets externes (AD, Socket, COM ...), vous devez les surveiller !