Установка нативной сборки в GAC

У меня есть сборка, содержащая смесь управляемого и неуправляемого кода C++. Я подписал его и установил в Global Assembly Cache. Моя программа (.Net, C#) его там не найдет, хотя работала отлично, когда сборка находилась в каталоге программы. Программа использует DllImport и pinvoke для вызова методов из сборки. Как заставить программу найти мою сборку в GAC? Могу ли я использовать файл exe.config или exe.manifest для достижения этой цели?


person Community    schedule 08.07.2009    source источник
comment
Как вы установили свою родную dll в GAC? Это невозможно.   -  person Dirk Vollmar    schedule 09.07.2009


Ответы (2)


Нет, ты не можешь. Способ, которым DllImport разрешает библиотеки, полностью отличается от того, как среда выполнения находит управляемые сборки.

person mmx    schedule 08.07.2009

У Маркуса Хиге есть хороший пост в блоге об этом. Вам нужно добавить /assemblylinkresource, когда вы связываете свой код C++/CLI

http://www.heege.net/blog/PermaLink,guid,d3b405c1-73d4-4d04-934f-3e2ee2b5f589.aspx

person Filip Frącz    schedule 02.02.2010
comment
Филипп, спасибо за пост. Блог действительно очень интересный. Но я хочу добиться вызова сборки в смешанном режиме без использования управляемой оболочки, установленной в GAC. - person ; 03.02.2010