2016-12-01 8 views
0

J'ai essayé de comprendre pourquoi mon service C# Windows ne s'installe pas et il semble provenir d'Entity Framework.C# Service Windows ne s'installe pas s'il inclut Entity Framework (incorporé)

Pour tester cela, j'ai créé un nouveau projet en utilisant le modèle de service Windows dans Visual Studio et laissez l'Assistant faire son travail.

Déployé sur mon serveur de test, installé et tout fonctionnait comme prévu ... J'ai ensuite désinstallé.

Ensuite, j'ajouté (DB First) modèle Entity Framework au projet, encore une fois quelque chose de très basique et déployé sur le serveur ..

Cette fois-ci, quand j'installe, j'obtiens ce qui suit ..

Utilitaire d'installation Microsoft (R) .NET Framework Version 4.0.30319.17929 Copyright (C) Microsoft Corporation. Tous les droits sont réservés.

Exécution d'une installation traitée.

Début de la phase d'installation de l'installation. Voir le contenu de le fichier journal de la progression de l'assembly D: \ SandBox \ TestService \ TestService.exe. Le fichier se trouve à D: \ SandBox \ TestService \ TestService.InstallLog. Installation de l'assembly 'D: \ SandBox \ TestService \ TestService.exe'. paramètres concernés sont les suivants:
logtoconsole = logfile = D: \ SandBox \ TestService \ TestService.InstallLog AssemblyPath = D: \ SandBox \ TestService \ TestService.exe Une exception est survenue lors essayant de trouver les installateurs dans le D: \ Assemblage SandBox \ TestService \ TestService.exe. System.Reflection.ReflectionTypeLoadException: Impossible de charger un ou plus des types demandés. Récupérez la propriété LoaderExceptions pour plus d'informations. Annulation de l'installation pour D: \ SandBox \ TestService \ TestService.exe.

Une exception s'est produite pendant la phase d'installation. System.InvalidOperationException: Impossible d'obtenir les types de programme d'installation dans l'assembly D: \ SandBox \ TestService \ TestService.exe de . L'exception interne System.Reflection.ReflectionTypeLoadException a été lancée avec le message d'erreur suivant: Impossible de charger un ou plusieurs des types demandés. Récupérez la propriété LoaderExceptions pour plus d'informations.

La phase de restauration de l'installation commence. Voir le contenu du fichier journal pour la progression de l'assembly D: \ SandBox \ TestService \ TestService.exe . Le fichier se trouve à D: \ SandBox \ TestService \ TestService.InstallLog. Rétablissement de l'ensemble 'D: \ SandBox \ TestService \ TestService.exe'. paramètres concernés sont les suivants:
logtoconsole = logfile = D: \ SandBox \ TestService \ TestService.InstallLog AssemblyPath = D: \ SandBox \ TestService \ TestService.exe Une exception est survenue lors essayant de trouver les installateurs dans le D: \ Assemblage SandBox \ TestService \ TestService.exe. System.Reflection.ReflectionTypeLoadException: Impossible de charger un ou plus des types demandés. Récupérez la propriété LoaderExceptions pour plus d'informations.Annulation de l'installation pour D: \ SandBox \ TestService \ TestService.exe. Une exception s'est produite pendant la phase de restauration du programme d'installation System.Configuration.Install.AssemblyInstaller. System.InvalidOperationException: Impossible d'obtenir les types de programme d'installation dans l'assembly D: \ SandBox \ TestService \ TestService.exe de . L'exception interne System.Reflection.ReflectionTypeLoadException a été lancée avec le message d'erreur suivant: Impossible de charger un ou plusieurs des types demandés. Récupérez la propriété LoaderExceptions pour plus d'informations. Une exception s'est produite lors de la phase de restauration de l'installation. Cette exception sera ignorée et l'annulation se poursuivra. Toutefois, il est possible que la machine ne revienne pas complètement à son état initial une fois que l'annulation est terminée.

La phase de restauration s'est terminée avec succès.

L'installation terminée est terminée. L'installation a échoué et la restauration a été effectuée.

Lorsque le service a été déployé, je copié le EntityFramework.dll et EntityFramework.SqlServer.dll avec le exe ​​ et fichiers config et sont tous dans le même dossier.

Alors, quel est explicitement InstallUtil se plaindre. Comment puis-je savoir

Pour votre information: "Travaux sur ma machine", comme par tout problème de développeur

EDIT:

références à cette question SO Error message 'Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.' sont quand quelque chose va mal pendant RUNTIME. .. Mon problème spécifique est pendant INSTALL

+0

Possible duplicate of [Message d'erreur 'Impossible de charger un ou plusieurs types demandés. Récupérez la propriété LoaderExceptions pour plus d'informations. '] (Http://stackoverflow.com/questions/1091853/error-message-unable-to-load-one-or-more-of-the-requested-types-retrieve-the -l) – Pikoh

+0

Le commentaire ci-dessus est vrai à certains égards, mais c'est à ce moment qu'une erreur se produit au moment de l'exécution ... Ma question concerne spécifiquement un échec d'installation –

Répondre

1

Eh bien, j'ai réussi à résoudre/contourner le problème. Plutôt que d'avoir le modèle EF dans l'application de service, je l'ai rangé dans sa propre bibliothèque de classes, puis j'ai simplement ajouté cela comme référence et voilà, l'installation a réussi.