10
votes

Rétrograder une application de .NET 4.0 à 3.5

J'ai développé une application dans VS2010 et la compilation du .NET 4.0 comme cadre cible. Après avoir intégré une bibliothèque dans ma demande, je reçois le message d'erreur suivant lorsque j'essaie de compiler:

Le mode mixte est construit contre la version 'V1.1.4322' du temps d'exécution et ne peut pas être chargé dans le runtime 4.0 sans informations de configuration supplémentaires.

La bibliothèque fonctionne bien sous .NET 3.5, mais lorsque je change mon cadre cible sur .net 3.5, je reçois l'erreur suivante pour tous mes fichiers .resx:

erreur d'erreur 1 Référence d'objet non définie sur une instance d'objet.

J'ai essayé ctrl-h Version = 4.0.0.0 à la version = 3.5.0.0 Mais cela ne semble pas fonctionner. Y a-t-il quelque chose que je puisse faire d'autre qui crée une nouvelle application?


0 commentaires

3 Réponses :


5
votes

Vous devriez pouvoir effectuer ce travail par paramètres de configuration dans App.Config.

Il suffit d'ajouter le uselegacyv2runtimeAactivationpolicy = "vrai" drapeau sur votre AppConfig dans la section de démarrage . Cela provoque l'exécution de .NET 4 pour gérer des assemblages de mode mixte plus anciens.


0 commentaires

8
votes

Ouvrez votre fichier .resx avec l'éditeur XML au lieu de l'éditeur de ressources et recherchez system.windows.forms, version = 4.0.0.0 code>. Il devrait y avoir 2 instances de cette chaîne. Remplacez 4.0.0.0 code> avec 2.0.0.0 code> et enregistrez le fichier. Vos ressources doivent fonctionner correctement maintenant.

Notez que vous pouvez également revenir à .NET 4 et essayer d'ajouter ce qui suit à votre app.config pour permettre aux assemblages plus anciens d'exécuter sur le nouveau runtime: P>

<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>


0 commentaires

2
votes

Propriétés ouvertes du projet. Puis sélectionnez les ressources. Supprimez toutes les images de ressources et insérez-les à nouveau. Maintenant la compilez. Votre projet fonctionne maintenant .. :)


0 commentaires