2009-09-14 5 views
5

J'ai un assemblage avec le manifeste suivant intégré:Side-by-side erreur de configuration (Microsoft.VC80.CRT de v8.0.50608.0)

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
    <dependency> 
    <dependentAssembly> 
     <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50608.0" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity> 
    </dependentAssembly> 
    </dependency> 
</assembly> 

Sur un de mes machines cet assemblage ne fonctionne pas (l'assemblage ne parvient pas à charger). L'ouverture de ce marcheur dans la dépendance de me donne le message d'erreur suivant:

Error: The Side-by-Side configuration information for "SomeAssembly.dll" contains errors. This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem (14001). 

L'assemblage identique fonctionne très bien sur une autre machine, et je reçois pas d'erreur avec marcheur de dépendance. Dans la mesure où je peux travailler le problème est dû à la première machine manquant une dépendance de quelque sorte (par exemple le redistribuable MSVCR), cependant j'ai déjà vérifié et Microsoft Visual C++ 2005 redistribuable est bien installé sur les deux machines.

Comment puis-je déterminer quelle est la dépendance manquante?

La seule chose que j'ai remarqué est que le répertoire WinSxS sur la machine de travail a une entrée supplémentaire:

x86_Microsoft.VC80.ATL_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_473666fd 
+0

Est-ce que le journal des événements du système donne plus de détails sur ce qui s'est mal passé? – karx11erx

Répondre

2

Classé!

Quelqu'un m'a aimablement fait remarquer que le "'SomeAssembly.dll"' mentionné dans Dependency Walker était en fait une DLL différente de celle que j'ai ouverte dans Dependency Walker! (Oups!)

En regardant le manifeste pour cet assembly, je peux voir que le problème est dû au fait que Microsoft.VC80.CRT v8.0.50727.4053 est ciblé, mais pas présent sur cette machine. (Installé via une mise à jour de sécurité).

+0

Pouvez-vous envoyer le lien où vous avez téléchargé la mise à jour? Quelle mise à jour de sécurité? –

+0

Je crois que la mise à jour est KB973923 - il y a plus d'informations ici http://support.microsoft.com/kb/973923, mais vous devriez l'obtenir à travers la mise à jour de Windows. – Justin

2

Après avoir lutté avec le même problème, je l'ai remarqué que les mises à jour appliquées au développement installation de Visual Studio peut répondre à certaines mises à jour de la machine cible:

Visual Studio Updates

Par exemple, la mise à jour surligné ci-dessus répond à cette question précise .

2

Instaedé de relais côte à côte Je vous suggère de ne pas inclure le "fichier manifeste" à l'intérieur de votre assemblée. Surtout parce que vous ne pouvez pas être sûr que le PC que vous allez installer votre logiciel est mis à jour à la version incluse dans votre manifeste.

Vous pouvez le désactiver en définissant la propriété de projet "Lieur \ Fichier manifeste \ Générer le manifeste" sur "Non".

J'espère que cela pourrait aider. Bonne chance

Questions connexes