3 votes

MMC SnapIn et .Net 4.x

Nous avons récemment mis à niveau tous nos projets vers Visual Studio 2012 et .Net 4.5. La plupart de nos projets comportent des snapins MMC personnalisés qui gèrent la configuration des produits. Je viens d'apprendre que MMC 3.0 ne gère pas nativement le runtime .Net 4.0, puisque celui-ci a été livré bien après la sortie de MMC 3.0.

Je cherche un moyen de corriger nos snapins afin que MMC ne plante pas lorsqu'ils sont chargés et je suis tombé sur de nombreuses pages qui mentionnent l'ajout d'un fichier mmc.exe.config. J'ai essayé, mais je n'arrive pas à le faire fonctionner.

J'ai créé un fichier dont le contenu est le suivant :

<configuration>
  <startup>
    <supportedRuntime version='v4.0.20506' />
    <requiredRuntime version='v4.0.20506' safemode='true' />
  </startup>
</configuration>

J'ai enregistré ce fichier sous le nom de mmc.exe.config dans les deux versions de Windows. \system32 et Windows \sysWOW64 mais la présence de ce fichier ne fait aucune différence. Mes snapins se plantent toujours avec le même message d'erreur :

Could not load file or assembly 'xxxx, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d62dabb4275ffafc' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.

Que dois-je faire pour que MMC charge correctement les assemblages d'exécution .Net 4.0 ?

7voto

Andres L Points 683

Pour moi, cela fonctionne de dire à MMC d'utiliser le Framework v4, j'ai la v4.0.30319.

set COMPLUS_version=v4.0.30319
start SomeConsole.msc

Vérifiez les solutions de contournement : http://connect.microsoft.com/VisualStudio/feedback/details/474039/can-not-use-net-4-0-to-create-mmc-snapin

Et voici mes paramètres de débogage : enter image description here

J'utilise la version 32 bits de la console, et j'ai également dû ajouter le dans le "c \Windows\SysWOW64\mmc.exe.config " le suivant :

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version='v4.0' />
    </startup>
</configuration>

J'espère que cela vous aidera. GL

2voto

Yuriy Gettya Points 196

Jetez un coup d'œil aux commentaires sur cette page ( http://msdn.microsoft.com/en-us/library/ms692759%28VS.85%29.aspx ). Il semble que les snap-ins MMC gérés peuvent cibler au maximum le framework 3.5.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X