2011-08-25 5 views
4

(je suis en Windows7 et en utilisant Visual Studio 2010.)Visual Studio redistribuable & side-by-side/dependentAssembly erreur

J'utilise ClamAV dans un projet Azure .NET, et je suis en cours d'exécution en des erreurs côte à côte chaque fois que j'exécute clamd.exe, soit via mon code, soit en exécutant clamd.exe.

Dans Visual Studio 2010, je reçois l'erreur:

Win32Exception was unhandled The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail

Et dans l'Observateur d'événements je reçois:

Activation context generation failed for "C:\Users\pconerly\code\AntiVirus_source\WorkerRole\clamav\clamd.exe". Dependent Assembly Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.6195" could not be found. Please use sxstrace.exe for detailed diagnosis.

Quand je recherchais "8.0.50727.6195" il m'a conduit à 2005 Redist, donc je l'ai téléchargé http://www.microsoft.com/download/en/details.aspx?id=3387

Après un redémarrage, je reçois toujours le côté par côté erreur. De plus, je pense que le programme d'installation redist ne termine pas son installation - comme s'il voyait Visual Studio 2010 et disait "oh, c'est assez bon, pas besoin de m'installer". Je n'ai pas essayé de désinstaller 2010 et d'utiliser 2005, car le reste de mon équipe de développement utilise VS 2010.

Quelle est l'affaire? Comment cela peut-il être réparé? Je suis prêt à retirer mes cheveux.

Répondre

2

Timores est juste: le Redist doit être this one, qui est lié à this KB entry Comme vous pouvez le voir là-bas, msvcr80.dll a été mis à jour vers la version 8.0.50727.6195. C'est la "mise à jour de sécurité" du "SP1" de l'environnement d'exécution C++ 2005 .. Votre exe nécessite probablement (via un manifeste interne) cette version spécifique. S'il n'est pas trouvé sur le système (il y a beaucoup d'endroits recherchés) ni dans le dossier actuel (avec un manifeste approprié de côté), il ne chargera pas l'exe puisqu'il ne peut pas "activer le contexte". ", c'est charger la DLL spécifique requise dans le manifeste. J'ai rencontré des problèmes similaires lorsque mon système a été mis à jour (mises à jour de Windows) et que les fichiers EXE nouvellement compilés ne fonctionnaient pas avec une version d'ancienne version placée dans le même dossier. J'ai dû mettre à jour msvcr80.dll et son manifeste (que j'ai trouvé profondément dans \ windows \ winsxs) pour que tout fonctionne.

activation de contexte est une question délicate, de toute façon :)

HTH

+1

J'ai essayé les deux voies pour résoudre le même problème - et le lien correct est [lien] http://www.microsoft.com/en-us/download/details .aspx? id = 26347 comme ci-dessus. – Nigel

+0

mmm .. alors peut-être qu'il y a différents paquets de mise à jour quand vous avez installé VisualStudio complet (ce qui est mon cas) .. merci de me le faire savoir! – Luke