views:

68

answers:

1

Can I put together both C# and C++/CLI source files in a single project, and then compile them to obtain a single .DLL assembly?

+3  A: 

You can obtain single DLL from code both in c++/cli and c# using command line tools. Let's assume you have two files: A.cc with C++/CLI code and B.cs with C# code. It should look something like this:

  • First compile c++ code into .obj file cl.exe /MD /c /clr A.cc
  • Compile c# code into "module" adding previously created .obj with /addmodule switch: csc.exe /target:module /addmodule:A.obj B.cs
  • Then link the module into single DLL: link.exe /DLL /LTCG /NOENTRY /CLRIMAGETYPE:IJW A.obj B.netmodule

I haven't tested it but it should work.

piotrsz