Meine Lösung enthält 2 Projekte.Gemischter Modus C++/CLI System.IO.FileLoadException
Das erste Projekt ist eine C++ Win32-Anwendung und das zweite Projekt ist eine C# -Bibliothek, die zwei andere C# -Bibliotheken verwaltet, die nicht von mir erstellt wurden. Die Idee dahinter war, eine C# -Bibliothek zu erstellen, die diese anderen 2 C# -Bibliotheken behandelt.
Nun wurden diese 2 C# -Bibliotheken für .NET 3.5 erstellt und ich habe mein C# -Projekt für .NET 3.5 eingerichtet.
Ich habe einen C++ Wrapper erstellt, der ganz gut funktioniert. Das Problem tritt auf, wenn versucht wird, ein Objekt einer Klasse zu erstellen, das meine C# -Bibliothek von einer der anderen 2 Bibliotheken erhält.
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.
Jetzt habe ich über ein Dutzend Beiträge gesucht, wo dieses Problem veröffentlicht wurde. Keiner von ihnen hat mein Problem gelöst. Ich habe verschiedene Konfigurationsdateien für meine ausführbare Datei (mein C++ - Projekt) sowie für meine C# -Bibliothek ausprobiert.
Ich habe versucht,
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
<supportedRuntime version="v2.0.50727"></supportedRuntime>
</startup>
Und einige andere, die gleichermaßen.
Versuchen Sie, die gleiche Version von .NET überall zu verwenden ... – Phil1970
Sie sollten über diese Fehlermeldung viel mehr betroffen sein. Sie sagen, dass Sie Ziel 3,5, aber der Fehler zeigt deutlich, dass .NET 4 verwendet wird. Dies kann nur passieren, wenn bereits eine .exe.config-Datei verwendet wird und diese nicht von Ihnen geschrieben wurde. Ihre VS-Version ist eiskalt alt, Zeit zum Aktualisieren. –
@ Phil1970 Ich bin infact mit .NET 3.5 für alles C# bezogen – Sean