Mixed mode assembly hiba .NET 4 alatt

Épp WPF alól matatok SQLite adatbázist (majd a jövő csütörtöki Ethical Hacking Konferencián megmutatom, hogy miért😉 ), ami tökéletesen működött is .NET 2.0 alatt, de mikor áttettem .NET 4 alá, az alábbi hibaüzenet köszöntött, ráadásul futási időben:

System.IO.FileLoadException was unhandled
Message=Mixed mode assembly is built against version ‘v2.0.50727’ of the runtime and cannot be loaded in the 4.0 runtime without additional configuration information.

A problémát nyilvánvalóan az okozta, hogy a netről letöltött System.Data.SQLite szerelvény még az előző framework verzióhoz készült. A mixed mode assembly egyébként olyan szerelvény, ami .NET-es és C++ kódot is tartalmaz. A hibaüzenetből kiderül, hogy valami konfigolni kell, ezért létrehoztam egy app.config fájlt az alábbi tartalommal és máris megoldódott a probléma:

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

Hasonló előjöhet webes fejlesztésnél is, ott a WebDev.WebServer40.exe.config fájlt kell kiegészíteni a startup elemmel. A useLegacyV2RuntimeActivationPolicy-ről bővebben Mark Miller blogbejegyzésében lehet olvasni.

 

Technorati-címkék: ,

One thought on “Mixed mode assembly hiba .NET 4 alatt

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s