MSDN.WhiteKnight - Stack Overflow answers
Ответ на "C++/cli/clr вопрос архитектуры приложения и компонентов"
Answer 947498
Поместите класс в отдельную DLL на C++/CLI, и пометьте его модификатором public:
public ref class XY
После этого просто добавьте ссылку на эту DLL во всех проектах, где вам нужен этот класс, и вы сможете его использовать. Заголовочные файлы в .NET не используются, так как вся необходимая информация о типах есть в метаданных сборки.
Казалось бы, все просто. Но есть одна проблема - сборки на C++/CLI (mixed mode) не могут быть AnyCPU, а на C# - могут. Соответственно, если вы делаете, допустим, 32-битную сборку на C++/CLI, добавляете ссылку на нее в AnyCPU проекте, он скомпилируется, но, когда дойдет до загрузки этой сборки в 64-разрядный процесс, все упадет. Решить эту проблему можно созданием отдельной сборки под каждую процессорную архитектуру и ручной загрузкой нужной во время выполнения в обработчике события AppDomain.AssemblyResolve.
Content is retrieved from StackExchange API.
Auto-generated by ruso-archive tools.