Я пытаюсь ссылаться на DLL .Net (назовите его B.dll), которая в основном представляет собой оболочку для третьей стороны .Net (назовите ее C.dll), в проект C++ MFC. Я создал файл tlb для B.dll и могу создать экземпляр и вызвать его в приложении MFC.Ссылки на управляемые коды MFC
В настоящий момент все зависимости B.tlb, B.dll и C.dll должны находиться в папке приложения MFC. То, что я хочу, и изо всех сил пытаюсь сделать, состоит в том, чтобы поместить эти три файла в подпапку из папки исполнения MFC.
Я попытался установить «privatePath» конфигурационного файла B.dll в подпапку, но, как я понял, это не значит, что нужно установить «privatepath» B.dll, но приложение MFC (которое, очевидно, имеет у меня есть, насколько я знаю, поскольку это не приложение .Net)
Любая помощь приветствуется.
Вы, конечно, максимизируя DLL Hell в этом сценарии, никогда нет особого смысла в этом. CLR ищет файл somename.exe.config в том же каталоге, что и somename.exe. Поэтому вы можете добавить элемент '', чтобы найти файл C.dll. B.dll можно найти только с помощью параметра/codebase в команде Regasm.exe, которую необходимо использовать для регистрации сборки или предоставления mfc-приложения манифеста с элементом ''. Использование GAC на компьютере пользователя для зависимостей COM никогда не будет плохой идеей. –
Почему этот сценарий рассматривается как аддон DLL? Не могли бы вы объяснить это больше, пожалуйста? поскольку я не могу думать об этом, не создавая обертку .Net dll и регистрирую ее как COM-компонент. – ali