2013-02-11 20 views
7

Prima di tutto, ho trovato gli altri post su StackOverflow here, ma non ha risolto il mio errore.L'assembly in modalità mista è stato creato con l'errore "v2.0.50727"

Ho 3 diversi ambienti/domini con un server di compilazione in ogni posizione. Gli ambienti My Dev e UAT si adattano perfettamente, ma la versione di produzione non funziona.

sto ottenendo l'errore

assemblaggio modalità mista è costruito contro la versione 'v2.0.50727' del runtime e non può essere caricato in runtime 4.0 senza ulteriori informazioni di configurazione

ho aggiunto questo tag mio file app.config (che era la correzione suggerita nel link che ho sopra)

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

Cos'altro potrebbe essere diverso tra i miei server/ambienti/domini di creazione che causerebbero questo problema?

In risposta alla domanda di Allen, credo che questo è quello che stai chiedendo:

<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 
    <Platform Condition=" '$(Platform)' == '' ">x86</Platform> 
    <ProductVersion>8.0.30703</ProductVersion> 
    <SchemaVersion>2.0</SchemaVersion> 
    <ProjectGuid>{D3D87C05-2811-489B-9F0D-7676B6485AA0}</ProjectGuid> 
    <OutputType>Exe</OutputType> 
    <AppDesignerFolder>Properties</AppDesignerFolder> 
    <RootNamespace>MVST.Batch.CorrespondenceConversion</RootNamespace> 
    <AssemblyName>MVST.Batch.CorrespondenceConversion</AssemblyName> 
    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> 
    <FileAlignment>512</FileAlignment> 
    </PropertyGroup> 

Ho più di 100 altri progetti che sono settati allo stesso modo esatto e quelli costruiscono OK.

+0

Is .Net 4.0 installato sulla produzione? – TheKingDave

+0

Sì, lo mostro nella cartella C: \ Windows \ Microsoft.NET \ Framework così come nella cartella Framework64 entrambi hanno la v4.0.30319 – ganders

+0

quale versione del set di strumenti della piattaforma richiede il montaggio in modalità mista ed è presente sul server prod? – allen

risposta

13

http://support.microsoft.com/kb/2572158

Aggiungere la verbosità useLegacyV2RuntimeActivationPolicy="true" seguito sia a uno dei seguenti percorsi: di file

  1. sgen.exe.config trovano nella seguente posizione: .. \ Program Files \ Microsoft SDK \ Windows \ v7.0A \ bin \ NETFX 4.0 Strumenti \
  2. Il file app.config dell'applicazione

<startup useLegacyV2RuntimeActivationPolicy="true"> 

      <supportedRuntime version="v4.0" /> 

</startup>  

+0

Ho aggiunto l'attributo sopra alla mia app.config e tutto è andato bene. – pennyrave

+1

Voglio solo sottolineare che la parte necessaria è: useLegacyV2RuntimeActivationPolicy = "true" – Taegost

0

Ecco la correzione che ha funzionato ... ancora non sono sicuro del motivo per cui il mio progetto doveva essere 2.0 mentre altri (nel collegamento nella mia domanda) dovevano essere 4.0.

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

Ora che ho implementato quanto sopra nel mio codice per farlo compilare, ora fallisce quando provo a eseguire il lavoro. Se commento questa intera sezione, il lavoro funzionerà correttamente. Quindi come ci si incontra nel mezzo? Ho bisogno di quella sezione per ottenere il progetto da costruire, ma ho bisogno di commentare per far funzionare il programma ... – ganders

2

Se si sta eseguendo in 64 bit, potrebbe essere necessario aggiungerlo al Visual Studio motore di prova config:

C: \ Program File (x86) \ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TestWindow \ vstest.executionengine.exe.config

aggiungere il nodo di avvio in questo modo:

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