|
Реализация c# COM для использования как DllSurrogate в c#
|
|||
---|---|---|---|
#18+
Всем привет. Есть c# AnyCPU проект к которому нужно подключить левую x86 библиотеку. Сразу скажу - все примеры и статьи на первых 15-ти страницах гугла и яндекса проверил - ни одно не работает именно для c#. Для Delphi, C++ - COM успешно импортируется и вызывает как удаленный объект. Итак, я создал COM проект, к нему собралась библиотека типов, сам COM зарегистрирован в списке доступных COM. Когда я пытаюсь подключить этот COM к проекту чтобы среда создала промежуточный Interop Dll - она попросту ругается что .NET сборка в .NET проекте должна быть подключена как ссылка, т.е. требует прямое подключение самой dll от COM в проект - но если я ее подключаю, то логично что он ее просто импортирует как библиотеку типов и использует в разрядности своего процесса. Перепробовал уйму вариантов tlbimp, tlbexp, regasm - по результату одно и то же, "библиотека типов была экспортирована из сборки .NET и не может быть использована в качестве ссылки". Насколько я понимаю нужно как-то отвязать библиотеку от .NET - т.е. получается что сам .NET сам с собой не дружит. Неужели нет вариантов .NET interop COM использовать в .NET? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2018, 12:29 |
|
Реализация c# COM для использования как DllSurrogate в c#
|
|||
---|---|---|---|
#18+
Ciplusor.NET - т.е. получается что сам .NET сам с собой не дружит это документированное поведение ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2018, 13:12 |
|
Реализация c# COM для использования как DllSurrogate в c#
|
|||
---|---|---|---|
#18+
Ciplusor, подлючай динамически. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2018, 18:46 |
|
Реализация c# COM для использования как DllSurrogate в c#
|
|||
---|---|---|---|
#18+
hVostt, перезвони мне, хватить прятаться ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2018, 18:53 |
|
Реализация c# COM для использования как DllSurrogate в c#
|
|||
---|---|---|---|
#18+
Ciplusor, Сильно не вникал, но может быть Вам нужно [dllimport ...] ? http://www.dream-land.by/developer/csharp/win_api/ ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2018, 22:39 |
|
Реализация c# COM для использования как DllSurrogate в c#
|
|||
---|---|---|---|
#18+
CiplusorВсем привет. Есть c# AnyCPU проект к которому нужно подключить левую x86 библиотеку. Сразу скажу - все примеры и статьи на первых 15-ти страницах гугла и яндекса проверил - ни одно не работает именно для c#. Для Delphi, C++ - COM успешно импортируется и вызывает как удаленный объект. Итак, я создал COM проект, к нему собралась библиотека типов, сам COM зарегистрирован в списке доступных COM. Когда я пытаюсь подключить этот COM к проекту чтобы среда создала промежуточный Interop Dll - она попросту ругается что .NET сборка в .NET проекте должна быть подключена как ссылка, т.е. требует прямое подключение самой dll от COM в проект - но если я ее подключаю, то логично что он ее просто импортирует как библиотеку типов и использует в разрядности своего процесса. Перепробовал уйму вариантов tlbimp, tlbexp, regasm - по результату одно и то же, "библиотека типов была экспортирована из сборки .NET и не может быть использована в качестве ссылки". Насколько я понимаю нужно как-то отвязать библиотеку от .NET - т.е. получается что сам .NET сам с собой не дружит. Неужели нет вариантов .NET interop COM использовать в .NET?что из этого верно? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2018, 09:28 |
|
Реализация c# COM для использования как DllSurrogate в c#
|
|||
---|---|---|---|
#18+
А так не будет работать? dynamic com = Type.GetTypeFromProgID("MyDLL"); если учесть, что второй опциональный параметр в GetTypeFromProgID - имя сервера, то COM-объект передается как ссылка. Да и работает такой метод с MSOffice любой разрядности. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2018, 09:02 |
|
|
start [/forum/topic.php?fid=20&fpage=25&tid=1399125]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 145ms |
0 / 0 |