Я создаю инструмент в управляемом коде (в основном, C++/CLI) в двух версиях, версии «обычного пользователя» и версии «pro»..NET-эквивалент статических библиотек?
Тот факт, что код ядра идентичен между двумя версиями, вызвал у меня небольшую проблему, так как я хочу упаковать полученный инструмент как единую сборку (DLL), и я не хочу включать .cpp файлы для общего кода в проектах двух версий инструментов. Я предпочел бы иметь проект для общего кода и проекта для каждой версии инструмента, и каждая версия проекта инструментов зависит от общего кода и связывает его по желанию.
В неуправляемом C++ я бы сделал это, разместив общий код в статической библиотеке и связав обе версии этого инструмента с ним. Кажется, я не могу заставить это работать в C++/CLI. Кажется, что я вынужден создать общий код в сборке DLL, и это приводит к большему количеству DLL, чем хотелось бы.
Итак, я не могу понять, как создать общий код в одном проекте и связать его с каждым из проектов конечного продукта, чтобы создать две отдельные сборки DLL, которые включают в себя общий код.
Я, вероятно, что-то не так, но я попытался понять, как это сделать, используя netmodules и все такое, и я просто не мог заставить его работать. В конце концов, единственным способом, с помощью которого я работал, было рассказать компоновщику, чтобы связать продукты сборки общей сборки кода, а не результаты, которые работают, но немного взламывают IMHO.
В любом случае, есть ли у кого-нибудь предложения по поводу того, как мне СЛЕДУЕТ решить эту проблему?
Отредактировано: Я предполагаю, что я хотел бы упомянуть тот факт, что узлы, сгенерированные не являются 100% управляемым кодом, они содержат смесь управляемого и неуправляемого код, как есть, вероятно, довольно часто со сборками производятся с C++/CLI ...
Я очень рекомендую избавиться от идеи, что вам нужно упаковать ее в одну DLL. –