Entwickler-Ecke

Sonstiges (.NET) - platform x86(WIN32) erzwingen


kyon86 - Do 18.09.08 19:30
Titel: platform x86(WIN32) erzwingen
Hi,
seit ich ein Visual Studio Projekt auf Vista x64 ausführe bekomme ich ständig die Fehlermeldung
Bad Image Format Exception beim laden einer C++/Cli dll. Nach langem suchen habe ich dann
herausgefunden das der Grund darin liegt das meine C# WinForms Anwendung im 64 Bit Modus startet
und die 32Bit DLL nicht laden kann.

Ich müsste also entweder die C++/CLI dll im 64Bit Modus kompilieren, oder für die WinForm Anwendung
32Bit erzwingen.

Ich verwende visual studio express edition 2008. In den Projekteinstellungen von C++ kann ich bei
der Konfiguration nur Win32 einstellen.
Bei den Projekteinstellungen für die C# WinForms Anwendung finde ich gar keine Platformeinstellungen.
Vielleicht bin ich ja nur blöd aber ich glaub ich such schon ne Stunde.
Ich hab was von nem Compiler Switch /platform:x86 gelesen aber wo soll ich das einstellen? die cmd ist
mir zu umständlich zum compilieren.

mfg
Vielen Dank


Moderiert von user profile iconChristian S.: Topic aus WinForms verschoben am Do 18.09.2008 um 19:32


Christian S. - Do 18.09.08 19:34

Hallo!

Du kannst in den Projekteigenschaften unter "Build" das "Platform target" einstellen. Das steht standardmäßig auf "Any CPU", Du kannst dort aber auch zwischen "x86" und "x64" wählen.

Grüße
Christian


Kha - Do 18.09.08 19:36

Nein, kann er nicht ;) .
http://www.c-sharp-forum.de/viewtopic.php?p=494714#494714


Christian S. - Do 18.09.08 19:38

:shock: Die Express-Version hat das nicht?


kyon86 - Do 18.09.08 20:11

danke, dass hats gebracht! Hier nochmal die Lösung:


user profile iconKha hat folgendes geschrieben:
/..../
Aber da sie wohl kaum MSBuild ebenfalls beschnitten haben, sollte der manuelle Weg immer noch funktionieren: Öffne deine .csproj-Datei mit einem Texteditor und füge im ersten PropertyGroup-Abschnitt (der sollte für Debug und Release gleichzeitig gelten) <PlatformTarget>x86</PlatformTarget> ein.