Библиотека управления формами Windows; Управляемый и неуправляемый - PullRequest
0 голосов
/ 24 апреля 2009

Проект библиотеки управления Windows Forms (C ++), который я пишу, использует неуправляемую DLL. Неуправляемая dll имеет заголовочный файл (чеширский кот). И я просто включаю его в проект библиотеки управления. И вызывает функции в неуправляемой dll (конечно, с правильным маршалингом). Это компилирует и строит. Проблема в том, что когда я добавляю элемент управления в набор инструментов моего леса, который представляет собой Winform-приложение Managed C ++, VS2005 жалуется, что это не модуль .Net.

Я видел, как люди конвертировали, используя dll MFC в качестве элементов управления окнами. Что я делаю неправильно?.

1 Ответ

1 голос
/ 24 апреля 2009

Может быть, это потому, что VS2005 не находит ваш родной .DLL. Этот .DLL ищется "нормальным" способом для собственных .DLL:

  • Текущий каталог (я думаю, что это в основном каталог запуска VS)
  • Директория приложений (где-то в% ProgramFiles% \ Microsoft Visual Studio ...)
  • % PATH% dirs.

Вы можете попытаться поместить вашу нативную DLL куда-нибудь в вышеупомянутые каталоги и попробовать, если вы получите лучшие результаты.

Я бы настоятельно рекомендовал сделать вашу нативную часть статичной и статически связать ее с вашим .NET-проектом (если это возможно), потому что это позволило бы избежать проблем с поиском нативного .DLL. (Это то, что я сделал из-за многих проблем. Например, у нас есть инструмент Translator [SDL Passolo], который может обрабатывать библиотеки .NET DLL и упаковывать их в пакеты переводчиков, включая все библиотеки DLL, на которые есть ссылки ... но только библиотеки .NET, но не нативные. библиотеки DLL!).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...