Можно ли собрать как исходные файлы С#, так и С++/CLI в одном проекте, а затем скомпилировать их для получения единой сборки .LLL?
Могу ли я использовать как С#, так и С++/CLI в одной сборке?
Ответ 1
Вы можете получить одиночную DLL из кода как в С++/cli, так и С# с помощью инструментов командной строки. Предположим, у вас есть два файла: A.cc с кодом С++/CLI и B.cs с кодом С#. Он должен выглядеть примерно так:
- Сначала скомпилируйте С++-код в .obj файл
cl.exe /MD /c /clr A.cc
- Скомпилировать код С# в "модуль", добавив ранее созданный .obj с ключом /addmodule:
csc.exe /target:module /addmodule:A.obj B.cs
- Затем свяжите модуль с одной DLL:
link.exe /DLL /LTCG /NOENTRY /CLRIMAGETYPE:IJW A.obj B.netmodule
Я не тестировал его, но он должен работать.