Оболочка C ++ в C ++ / CLI clr: безопасно для C # COM Interop - PullRequest
1 голос
/ 21 июля 2011

есть ли способ сделать оболочку clr: safe для проекта на C ++ неуправляемой?

Моя маленькая история началась таким образом,
"Мальчик, вам нужно сделать проект 'C # COM Interop«но этот должен использовать« библиотеку C ++ »и должен приводить только к« одному »(dll COM)».
Хорошо, после нескольких дней поиска я понял, что можно использовать библиотеку C ++ двумя способами: добавление ресурсов и вызовы с помощью PInvoke или создание оболочки C ++ / CLI.С PInvoke я не могу иметь только одну dll (верно?).Поэтому я выбрал второй вариант «обертка C ++ / CLI».Вначале это казалось простым, я перекомпилировал библиотеку Visual Studio 2005 до 2010, создал проект CLR (с keypair.snk и повторно подписал) и добавил библиотеку.Работает!\ 0 / Теперь я буду использовать ILMerge, оооо, что это?Только clr: безопасно?Зачем?Хорошо, я пытаюсь перекомпилировать C ++ / CLI в clr: safe, но появляется ошибка ...

Как я могу это исправить?

Спасибо заранее,

1 Ответ

0 голосов
/ 21 июля 2011

ILMerge не подходит для этого.

Вместо этого вы компилируете C # в модуль .net и передаете его компоновщику C ++ / CLI вместе со всеми объектными файлами C ++ / CLI.

...