Failed to run SWIG C # examples in VS 2010

I am trying to get SWIG to work with Visual Studio and C #.

I downloaded swigwin-2.0.4.zip and converted the project to a VS 2010 project.

I can build an example of a “class”. When I try to execute a compiled assembly, I get an error

    The type initializer for 'examplePINVOKE' threw an exception.

I searched for a googled error, but did not find any suggestions on how to resolve it.

Hope someone can help!

Thank,

Christian

+3
source share
3 answers

The solution for me was

  • Move the used dll to the Release (or Debug) directory
  • Run CorFlags / 32Bit + file.exe

file.exe - , .

, ,

http://www.davesquared.net/2008/12/systembadimageformatexception-on-64-bit.html

http://blogs.msdn.com/b/joshwil/archive/2005/05/06/415191.aspx

+1

, :

  • Build- > Configuration Manager. # AnyCpu - x86 .
  • example.dll bin\x86\Debug (Release).

CorFlags.

+3

:

    I had this issue as well (VS2010 , Windows 7, 64 bit computer, 32 bit mode dll, .NET 4) :

    The problem actually relates to being unable to load the DLLs

    There were two causes:

    #1:  All DLLs used by the C# assembly need to be in the same directory (or you need to change the lookup paths).


    #2: The C# or the C++ DLL (I forget which) had incorrect CofFlags -- use CorFlags  /32Bit+ *.dll or something like that.  You could also try using /UpgradeCLRHeader


    #3: You need to target the .NET 4.0 system in the project file, but 1 and 2 should get you started.

I will try these tips and see if they work, and then post an answer if I can solve the problem.

+1
source

Source: https://habr.com/ru/post/1568050/


All Articles