У меня есть сборка, содержащая смесь управляемого и неуправляемого кода C++. Я подписал его и установил в Global Assembly Cache. Моя программа (.Net, C#) его там не найдет, хотя работала отлично, когда сборка находилась в каталоге программы. Программа использует DllImport и pinvoke для вызова методов из сборки. Как заставить программу найти мою сборку в GAC? Могу ли я использовать файл exe.config или exe.manifest для достижения этой цели?
Установка нативной сборки в GAC
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
Филипп, спасибо за пост. Блог действительно очень интересный. Но я хочу добиться вызова сборки в смешанном режиме без использования управляемой оболочки, установленной в GAC.
- person ; 03.02.2010