Les utilisateurs ne peuvent pas installer une application ClickOnce. L'erreur est: "Le fichier NLog.dll n'est pas un fichier Portable Executable (PE) valide." Cela fonctionne très bien sur ma machine, mais j'ai installé nLog. Ce n'est pas possible pour les machines client. Des idées pour que cela fonctionne?Déploiement de NLog avec une application ClickOnce
Répondre
Si vos assemblys NLog sont déployés dans le GAC, vous ne pouvez pas (simplement) l'inclure dans une installation ClickOnce. Essayez de les déployer en tant que DLL locales. Si cela n'est pas possible, vous aurez besoin d'une configuration séparée (ou MSI) pour déployer NLog.
Vérifiez votre option de compilation et assurez-vous que NLog.dll est inclus dans les "Fichiers d'application", de sorte qu'il sera dans "groupe de téléchargement"/requis.
C'est probablement le problème puisque NLog devrait juste être une autre DLL que vous pouvez inclure. Log4Net fonctionne de cette façon. –
Merci, mais la DLL est téléchargé, il donne juste une erreur. – Brian
Ajoutez la DLL à votre projet et définissez BuildAction = None, et "Copier dans le répertoire de sortie" comme "ne pas copier". Supprimez votre référence à NLog dans votre projet.
Re-ajoutez la référence et pointez-la sur la DLL que vous venez d'ajouter au projet. Sur les propriétés de la référence, définissez "Copier local" sur "true". Maintenant, lorsque vous exécutez l'application, elle pointera vers la version locale et, lorsque vous déploierez l'application, déploiera la version locale et pointera dessus.
Ceci fonctionne pour beaucoup de DLL tierces, mais pas toutes. La meilleure chose à faire est de l'essayer.
Merci, mais la DLL est téléchargé, il donne juste une erreur. – Brian
Comment est-il référencé dans votre projet? Je vais devoir draguer ma mémoire, je me souviens de quelque chose à propos de l'erreur d'exécution portable ... Vous avez changé votre projet pour y faire référence comme je l'ai dit ici? – RobinDotNet
Voici un article du forum MSDN - voir si cela vous aide du tout: http://social.msdn.microsoft.com/forums/fr-FR/winformssetup/thread/dc47dac1-6eb2-4533-a119-c1d87a36c4a5/ – RobinDotNet
J'ai mis toutes les données de configuration NLog dans le fichier App.config au lieu du fichier NLog.config et cela a fonctionné pour moi après le déploiement avec ClickOnce. Aucune erreur et la journalisation fonctionnait sur l'application déployée.
Fonctionne pour moi aussi. – Pat
J'ai trouvé la réponse à ce problème lorsque votre NLog.config
ne serait pas copié dans votre programme s'il était installé en utilisant ClickOnce
.
Vous devez sélectionner le fichier NLog.config
dans votre Project
en utilisant Solution Explorer
et définir ses Properties
comme suit:
- Build Action: Contenu
- Copier Output Directory: Copiez toujours
Maintenant, lorsque vous déployez en utilisant ClickOnce
les fichiers doivent être b e copié aussi bien! :)
- 1. emplacement de déploiement ClickOnce
- 2. net reactor & déploiement clickonce
- 3. Déplacement d'un déploiement ClickOnce
- 4. Déploiement de wcf avec une application Silverlight?
- 5. Assurer la dernière version avec le déploiement de clickonce
- 6. Débogage des fonctions de déploiement ClickOnce
- 7. Comment forcer l'URL de déploiement ClickOnce?
- 8. Utilisation de LinqToSql avec NLog
- 9. dupliquer des assemblys dans un déploiement clickonce
- 10. Service Windows avec NLog
- 11. Est-il possible d'utiliser .NET Reactor avec le déploiement ClickOnce?
- 12. Est-il possible d'utiliser NGen avec le déploiement ClickOnce?
- 13. Déploiement ClickOnce pour solution contenant plusieurs projets
- 14. Déploiement ClickOnce à partir d'un partage réseau et de paramètres
- 15. Déploiement de modules dans une application Web
- 16. Erreur de déploiement ClickOnce sur l'application .NET mise à niveau
- 17. Déploiement d'une application WPF à l'aide de ClickOnce et Team Build
- 18. Comment faire pour déplacer un package de déploiement ClickOnce
- 19. Recommandations pour effacer les données de déploiement ClickOnce
- 20. Déploiement d'une application python avec package partagé
- 21. Supprimer ClickOnce d'une application WinForms
- 22. Installations ClickOnce multiples avec différentes identités de déploiement, mais avec la même identité d'application
- 23. Comment publier une application ClickOnce à l'aide de Microsoft.Build.BuildEngine
- 24. ClickOnce Application Deployment dll question de référence
- 25. Déploiement .NET (ClickOnce ou MSI) Paramètres/paramètres du client
- 26. NLog ASP.Net viewer
- 27. Déploiement d'une application ASP.net
- 28. Comment publier une application ClickOnce à partir d'un programme d'installation
- 29. Directory comme un seau pour une application ClickOnce
- 30. Ne pas écraser le fichier app.config lors du déploiement avec clickonce
Pour compléter la réponse de Henk, l'installation de nlog devrait inclure une DLL non-GACed quelque part que vous pouvez utiliser, ou vous devriez pouvoir en télécharger une sur leur site (souvent dans un fichier zip plutôt que dans l'installeur). –
Nous utilisons ici aussi NLog sans (trop) de problèmes mais nos dll sont déployés localement avec l'application. – Newtopian