170 votes

L'assemblage en mode mixte est construit avec la version 'v2.0.50727′ du runtime.

J'obtiens l'exception suivante :

L'assemblage en mode mixte est construit par rapport à la version 'v2.0.50727 du runtime et ne peut être chargé dans le runtime 4.0 sans informations de configuration supplémentaires.

alors que j'essayais d'exporter un rapport cristal depuis mon programme WPF...

J'ai déjà ajouté ce qui suit dans l'app.config...

<startup useLegacyV2RuntimeActivationPolicy="true">
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<runtime>
  <NetFx40_LegacySecurityPolicy enabled="true"/>
</runtime>

Tout expert peut aider ????

Référence que j'ai trouvée : http://www.davidmoore.info/2010/12/17/running-net-2-runtime-applications-under-the-net-4-runtime

2 votes

IMPORTANT : Si l'erreur se produit avec la colonne d'erreur "Fichier" comme SGEN alors le correctif doit être dans un fichier sgen.exe.config à côté de sgen.exe . Par exemple, pour VS 2015, créez C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\sgen.exe.config . Source : SGEN Assemblage en mode mixte Contenu minimal du fichier : <configuration><startup useLegacyV2RuntimeActivationPolicy="true"/></configuration>

1 votes

Sachez que vous pouvez non seulement avoir " C:\Program Fichiers (x86) \Microsoft SDKs \Windows\v10.0A\bin\NETFX 4.6 Tools\", mais sous ce répertoire, un répertoire 'x64' qui contient également un sgen.exe, et peut-être plusieurs autres copies/versions de sgen, toutes dans des chemins différents, selon le nombre et les versions de VS que vous avez installés.

0 votes

@ToolmakerSteve Veuillez poster votre commentaire en tant que réponse afin que je puisse l'upvoter ; aucune des autres réponses ne m'a aidé.

248voto

Talha Points 7596

Essayez d'utiliser cette balise de démarrage exacte dans votre app.config sous le nœud de configuration.

<startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
    <requiredRuntime version="v4.0.20506" />
  </startup>

2 votes

En fait, vous devriez ajouter les lignes délicates à YourApp.**exe**.config.

25 votes

C'est app.config. Le compilateur le renommera lors de la construction.

67 votes

La seule partie requise est useLegacyV2RuntimeActivationPolicy="true". Vous pouvez laisser votre version actuelle du framework.

91voto

L'exception identifie clairement un composant .NET 2.0.50727 qui a été inclus dans .NET 4.0. Dans le fichier App.config, utilisez ceci :

<startup useLegacyV2RuntimeActivationPolicy="true" /> 

Cela a résolu mon problème

0 votes

Il faut une barre oblique de fermeture <startup useLegacyV2RuntimeActivationPolicy="true" />

14voto

Veuillez ajouter l'attribut useLegacyV2RuntimeActivationPolicy="true" dans le fichier app.config de vos applications.

Ancienne valeur

  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"/>
  </startup>

Nouvelle valeur

  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"/>
  </startup>

Cela résoudra votre problème.

4voto

atconway Points 4164

J'ai eu ce même problème avec le inverse solution. J'ai mis à niveau un projet .NET vers .NET 4.0, puis je suis revenu à .NET 3.5. Le fichier app.config de mon projet contenait toujours les éléments suivants, qui étaient à l'origine de l'erreur en question :

<startup>
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>

La solution pour résoudre cette erreur a été de revenir à la référence 2.0 correcte comme suit :

<startup>
  <supportedRuntime version="v2.0.50727"/>
</startup>

Donc, si une mise à niveau vers le bas produit l'erreur ci-dessus, vous devez peut-être sauvegarder la version supportée de .NET Framework.

4voto

ToolmakerSteve Points 762

Si l'erreur se produit avec la colonne d'erreur "Fichier" comme SGEN, alors la correction doit être dans un fichier. sgen.exe.config à côté de sgen.exe . Par exemple, pour VS 2015, créez C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\sgen.exe.config . Contenu minimal des fichiers : <configuration><startup useLegacyV2RuntimeActivationPolicy="true"/></configuration>

Source : SGEN Assemblage en mode mixte

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