Assimp.NET für .NET 4.0 C#
Verfasst: 03.09.2011, 23:29
Hallo liebe Menschen,
seit zwei Tagen versuche ich jetzt, Assimp für das .NET Framework 4.0 zum Laufen zu bringen, leider ohne Erfolg :( Hat einer bereits Erfahrung mit den C#-Bindings von Assimp? Da der Rest der Anwendung auf .NET 4.0 angewiesen ist, kann ich Assimp.NET so, wie es im offiziellen Download enthalten ist, nicht verwenden, da nur ein VS2008-Projekt enthalten ist, mit dem ich nur .NET Framework 3.5 als Zielframework auswählen kann. Die Ergebnisdateien des Projekts, Assimp.dll und Assimp.Interop.dll, kann ich in meiner Anwendung nicht korrekt einbinden - Assimp.dll wird offensichtlich nicht gefunden. Beim ersten Assimp-Aufruf, bei mir
bekomme ich eine TypeInitializationException von AssimpPINVOKE bei AssimpPINVOKE.new_Importer__SWIG_0(). Dabei habe ich im VS2010-Projekt beide DLLs als Verweise eingebunden. Die gleiche Meldung erscheint, wenn ich nur Assimp.Interop.dll einbinde und Assimp.dll gar nicht existiert, d.h. letztere Bibliothek scheint einfach nicht gefunden zu werden - ich vermute, wegen den unterschiedlichen Zielframeworks für Hauptanwendung und Bibliotheken. Prinzipiell müsste alles nur für Zielplattform x86 laufen. Ich habe auch versucht, alle Buildeigenschaften anzupassen, ohne Erfolg.
Dann also Assimp.NET für 4.0 kompilieren. Dazu habe ich zuerst die Solution in eine VS2010-Solution konvertiert. Wenn man nichts weiter ändert und einfach so kompiliert, gibt es Fehler, weil das erste Projekt - assimp - nicht kompiliert (viele gleichartige Fehler):
Wenn ich zwei Solutions daraus mache, eine für "assimp" und "Assimp_NET" in VS2008 und dann den .NET-Teil, also "Assimp.NET_CS" und "Assimp.NET_DEMO" in VS2010 und für das Zielframework 4.0, kriege ich beim Start der Demo (oder meiner Anwendung) eine FileLoadException:
Ich habe glaube ich schon jede mögliche Kombination aus allen Konfigurationen ausprobiert und laufe ständig in diese TypeInitializationException. Hat jemand schonmal Assimp für ein .NET 4.0-Projekt erfolgreich verwendet? Bin für jede Hilfe dankbar, insbesondere für ein Beispielprojekt :)
Gruß
mOfl
seit zwei Tagen versuche ich jetzt, Assimp für das .NET Framework 4.0 zum Laufen zu bringen, leider ohne Erfolg :( Hat einer bereits Erfahrung mit den C#-Bindings von Assimp? Da der Rest der Anwendung auf .NET 4.0 angewiesen ist, kann ich Assimp.NET so, wie es im offiziellen Download enthalten ist, nicht verwenden, da nur ein VS2008-Projekt enthalten ist, mit dem ich nur .NET Framework 3.5 als Zielframework auswählen kann. Die Ergebnisdateien des Projekts, Assimp.dll und Assimp.Interop.dll, kann ich in meiner Anwendung nicht korrekt einbinden - Assimp.dll wird offensichtlich nicht gefunden. Beim ersten Assimp-Aufruf, bei mir
Code: Alles auswählen
Importer importer = new Importer();
Dann also Assimp.NET für 4.0 kompilieren. Dazu habe ich zuerst die Solution in eine VS2010-Solution konvertiert. Wenn man nichts weiter ändert und einfach so kompiliert, gibt es Fehler, weil das erste Projekt - assimp - nicht kompiliert (viele gleichartige Fehler):
Code: Alles auswählen
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdint.h(19): error C2371: 'int32_t': Neudefinition; unterschiedliche Basistypen
1> c:\users\dani\desktop\assimp--2.0.863-sdk\code\pstdint.h(410): Siehe Deklaration von 'int32_t'
Code: Alles auswählen
Die Assembly im gemischten Modus wurde während Version v1.1.4322 der Laufzeit erstellt und kann nicht während der 4.0-Laufzeit ohne zusätzliche Konfigurationsinformationen geladen werden.
Gruß
mOfl