Здравствуйте, white_znake, Вы писали:
_>Здравствуйте, уважаемые коллеги
_>Можно ли использовать сборку написанную на C# в коде на C++?
_>Можно написать на dotNET COM сервер и затем dll на C++ будет клиентом этого COM сервера
_>А можно ли обойтись без создания COM-сервера?
Используйте com. Альтернатива есть, но до такой степени кривая, что лучше не надо
Здравствуйте, mrozov, Вы писали:
M>Здравствуйте, white_znake, Вы писали:
_>>Здравствуйте, уважаемые коллеги
_>>Можно ли использовать сборку написанную на C# в коде на C++?
_>>Можно написать на dotNET COM сервер и затем dll на C++ будет клиентом этого COM сервера
_>>А можно ли обойтись без создания COM-сервера?
M>Используйте com. Альтернатива есть, но до такой степени кривая, что лучше не надо
Здравствуйте, white_znake, Вы писали:
_>Кривая технология — это Interop & pinvoke?
Причем тут это? Нет, это хак сборки с наделением ее экспортируемыми функциями. Но заставить это устойчиво работать — та еще задача. Зачем это нужно?
Можно пойти и иначе (я не пробовал). Сделать сборку на c++/cli и использовать ее в качестве прокси.
Здравствуйте, white_znake, Вы писали:
_>Здравствуйте, уважаемые коллеги _>Можно ли использовать сборку написанную на C# в коде на C++? _>Можно написать на dotNET COM сервер и затем dll на C++ будет клиентом этого COM сервера _>А можно ли обойтись без создания COM-сервера?
Тут на сайте как-то публиковали ссылку на библиотеку, которая обеспечивает взаимодействие нативного и управляемого кода без COM, причем без каких-либо модификаций управляемого кода. Но это было для Delphi. Для С++ думаю такое уже написали.
Но не вникал в это, использую COM.
Здравствуйте, white_znake, Вы писали:
_>Здравствуйте, уважаемые коллеги
_>Можно ли использовать сборку написанную на C# в коде на C++?
_>Можно написать на dotNET COM сервер и затем dll на C++ будет клиентом этого COM сервера
_>А можно ли обойтись без создания COM-сервера?
Можно выполняя хостинг CLR.
Смотри в Рихтере главу "Хостинг CLR и домены приложения"
Здравствуйте, white_znake, Вы писали:
_>Можно ли использовать сборку написанную на C# в коде на C++? _>Можно написать на dotNET COM сервер и затем dll на C++ будет клиентом этого COM сервера _>А можно ли обойтись без создания COM-сервера?
Да. Часть C++ кода будет managed, часть нет (обе части будут скомпилированы в один файл, mixed assembly). Та, что managed успешно использует CLR. Та, что native, успешно вызывает managed часть. Основная проблема тут — маршалинг параметров из С++ в методы в C# сборке.