com c# .net-VFP | |
---|---|
boba Автор Сообщений: 6269 Откуда: Медвежьи озера- Дата регистрации: 26.03.2001 |
Собрался научиться созданию
com классов в C# .NET Скачал примеры, прочитал теорию, даже сделал готовый проект по опубликованному коду Сделал tlb через asm.exe В реестре класс вижу, он inproc В фоксе в object browser на закладке com прочитал tlb и вижу там внутренность класса Однако все мои усилия использовать createobject , createobjectex провалились. Собственно мне нужно использовать сом не из Фокса, а из Фортрана. И там облом Сообщения типа system can not find file Исправлено 2 раз(а). Последнее : boba, 23.06.16 19:41 |
Re: com c# .net-VFP | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Нетовские сборки должны регистрироваться в системе через утилиту regasm (возможно с доп.ключами, если они не подписаны - т.е. без StrongName - и соответственно ставятся не в GAC). tlb это просто формальное описание библиотеки - там нет исполняемого кода.
------------------ WBR, Igor |
Re: com c# .net-VFP | |
---|---|
boba Автор Сообщений: 6269 Откуда: Медвежьи озера- Дата регистрации: 26.03.2001 |
И ставил галочку подписать при сборке,
и пропускал через sn.exe для создания стронг нейм, и ссылался на этот файл в assembly.c Все без толку. И писал длл и тлб и файл ключей в самые разные директории- ничего не помогло. Прочитал штук 6 статей на тему этой ошибки, все оттуда попробовал, не помогает. Не понятно почему. В Седне как раз примеры на создание в Студии com и вызове их из фокса, эти примеры работают. Интересно, что метод Рика Страла через net reflection, clrhost прекрасно видят этот класс и вызывают в фоксе. Текст класса не мой, из примеров для com работа с sql server |
Re: com c# .net-VFP | |
---|---|
boba Автор Сообщений: 6269 Откуда: Медвежьи озера- Дата регистрации: 26.03.2001 |
И ставил галочку подписать при сборке,
и пропускал через sn.exe для создания стронг нейм, и ссылался на этот файл в assembly.c Все без толку. И писал длл и тлб и файл ключей в самые разные директории- ничего не помогло. Прочитал штук 6 статей на тему этой ошибки, все оттуда попробовал, не помогает. Не понятно почему. В Седне как раз примеры на создание в Студии com и вызове их из фокса, эти примеры работают. Интересно, что метод Рика Страла через net reflection, clrhost прекрасно видят этот класс и вызывают в фоксе. Текст класса не мой, из примеров для com работа с sql server |
Re: com c# .net-VFP | |
---|---|
sphinx Сообщений: 31185 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
А какая ошибка?
------------------ "Veni, vidi, vici!"(с) |
Re: com c# .net-VFP | |
---|---|
sphinx Сообщений: 31185 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Может поможет статья "Интероперабельность: Фортран и C#": habrahabr.ru
------------------ "Veni, vidi, vici!"(с) |
Re: com c# .net-VFP | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Слишком мало информации. Могу лишь сказать что я, когда это потребовалось, без проблем создал ком-видимую сборку и так же без проблем её после этого используют на куче машин... Из фокса.
Собирается COM сборка под 2-й фреймворк (она в свою очередь использует другие сборки - не COM-видимые. По сути это простая обёртка). Не подписывается strong name-ом вообще. Сама сборка НЕ помечена ComVisible (чтобы не пыталась в tlb экспортировать всё и вся) - помечены только необходимые интерфейсы и классы. Регистрируется на клиенте через простейший батник вида
Да, в другом случае (для подключения к фоксу другой нашей C# компоненты) я тоже использовал clrhost рика - оно имеет как свои плюсы (не нужно гадить в реестр и соответственно просить у клиентов полный административный доступ), так и минусы - достаточно большая куча маловменяемого кода для взаимодействия в фоксовой обёртке... В общем хочешь предметной помощи - давай исходник проекта и логи - сборки, регистрации... ------------------ WBR, Igor |
Re: com c# .net-VFP | |
---|---|
boba Автор Сообщений: 6269 Откуда: Медвежьи озера- Дата регистрации: 26.03.2001 |
Спасибо Игорь.
Сегодня заработало. Снял галочку подписи, но оставил файл ключей. Обрадовался, но рановато. При запуске обнаружил мелкую ошибку, исправил, пересобрал сборку. Запускаю в фоксе, и вижу сообщение -нет такого класса. Иду в реестр, и действительно нет. Вышел из Студии, зашел снова как админ, пересобрал сборку- класс есть. Если я до этого был не как админ, то поведение странное, на запись в реестр нужно быть админ, а как снести класс из реестра, так и не нужно. Ставлю галочку подписи назад, опять не работает с офибкой система не может найти файл. Хотя файл ключей и ссылка на него остались. Studio 2015 7 64 винды. Статья про Фортран пригодиться, Саша. Исправлено 1 раз(а). Последнее : boba, 30.06.16 21:53 |
© 2000-2024 Fox Club  |