2011-08-13 2 views
0

Je suis en train de mettre en place un simple service de polling pour l'une de nos applications web, mais je voudrais pouvoir mettre à jour le service en changeant simplement la DLL. J'ajoute la DLL comme un depencancy et tout fonctionne bien le code peut le voir dans VS et il compile et le programme d'installation compile et il installe et s'exécute, cependant quand j'exclus la dll dépendante dans l'installateur il sera encore compiler puis il ne démarre pas et se plaint qu'il ne peut pas trouver un fichier dont il a besoin même s'il est au bon endroit et a le droit d'y accéder.Service + Service installer

Est-ce acheivable (je suis sûr qu'il est)

merci à l'avance.

+1

Et comment imaginez-vous que cela fonctionnerait? Imaginez que le service est en train d'exécuter une méthode, que se passe-t-il lorsque vous changez la DLL? Et quel * exactement * est l'erreur que vous obtenez? – svick

+0

arrêter/démarrer le service est très bien, au moment où je dois désinstaller/réinstaller le service pour le mettre à jour. Je publierai le message d'erreur dans un court moment. – Liquidkristal

+0

Le service ne peut pas être démarré. System.IO.FileNotFoundException: Impossible de charger le fichier ou l'assembly 'service, Version = 0.0.0.0, Culture = neutre, PublicKeyToken = null' ou l'une de ses dépendances. Le système ne peut pas trouver le fichier spécifié. Nom de fichier: 'service, Version = 0.0.0.0, Culture = neutre, PublicKeyToken = null' à Service_Core.Service_Core.OnStart (String [] args) à System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback (état de l'objet) – Liquidkristal

Répondre

1

J'ai trouvé qu'il fonctionne mieux avec la DLL dans le même dossier que le service n'est pas installé dans le dossier windows (utilisé procmon pour trouver les erreurs lors du démarrage du service).

Pourrait également avoir mis la DLL dans le GAC (mais je le préfère quand j'ai 100% de contrôle sur le fichier). Pourquoi ne pas vouloir redémarrer le service?

Questions connexes