2010-10-25 18 views
45

ho incluso un lettore directX nell'app C# .net 4.0 che è incluso qui (risposta2). Il problema è che quando provo a inizializzare l'oggetto (es. Player mPlayer = new Player()) si verifica questo errore:L'assembly in modalità mista è stato creato rispetto alla versione "v1.1.4322"

L'assembly in modalità mista è costruito contro la versione 'v1.1.4322' del runtime e non può essere caricato nel Runtime 4.0 senza ulteriori informazioni di configurazione.

Qualcuno sa cosa può essere?

+0

IMPORTANTE: se l'errore si verifica con la colonna di errore "File" come "SGEN", quindi t ha bisogno di essere in un file 'sgen.exe.config', accanto a' sgen.exe'. Ad esempio, per VS 2015, creare 'C: \ Programmi (x86) \ Microsoft SDK \ Windows \ v10.0A \ bin \ NETFX 4.6 Strumenti \ sgen.exe.config'. Fonte: [Assemblaggio in modalità mista SGEN] (https://support.microsoft.com/en-us/help/2572158/sgen-mixed-mode-assembly-is-built-against-version-v2-0-50727-of -the-ru) Contenuto minimo del file: '' – ToolmakerSteve

risposta

65

È necessario aggiungere un'app. File di configurazione e impostare useLegacyV2RuntimeActivationPolicy su true.

Questo è necessario per utilizzare gli assembly CLR 2 in modalità mista in un'applicazione .NET 4.

+0

ah grazie! quali sono gli assembly di clr 2 in modalità mista? – Alex

+3

@Badescu Sono incuriosito anche da questo, ecco un link che spiega: http://msdn.microsoft.com/en-us/library/x0w2664k.aspx – Badaro

+0

grazie Badaro! – Alex

67

Il modo Ho fissato questo errore sia per variare il nodo 'configurazione' sul mio app.config da questa:

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

a questo:

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

Grazie per ulteriori chiarimenti per quelli di noi che non modificano abbastanza il file app.config xml per sapere come impostare tale valore su true. +1 – Jack

+0

Piacere mio, Jack. A quel tempo, dovevo cercarlo da solo, quindi ho pensato che qualcuno là fuori potesse usare anche quel po 'di informazioni in più :) –

+1

Grazie Gustavo –

2

Qui è possibile configurazione di montaggio :

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