Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

### Создание COM-Сервера на C# для Delphi: Решение Проблемы с OLE Ошибкой 0x8013101b

Delphi , Технологии , COM и DCOM

Создание COM-Сервера на C# для Delphi: Решение Проблемы с OLE Ошибкой 0x8013101b

Вопрос пользователя касается создания COM-сервера на C#, который используется в приложении на Delphi без традиционной регистрации COM. Процесс создания такого сервера описан в статье на MSDN по адресу Registration-Free Activation of .NET-Based Components: A Walkthrough. Пользователь создал необходимые файлы манифеста и связал их с сборками, однако при запуске приложения возникает ошибка OLE с кодом 0x8013101b.

Основные моменты статьи:

  • Проблема: При попытке запуска Delphi-приложения, использующего C# COM-сервер без регистрации, возникает ошибка OLE с кодом 0x8013101b.
  • Решение: Использование инструмента Fuslogvw.exe для отслеживания процесса загрузки сборок помогло выявить проблему с неправильно указанным Public Key Token в манифестах. После корректировки манифестов и указания версии .NET-runtime проблема была решена.

Шаг за шагом к решению проблемы:

  1. Создание файлов манифеста: Пользователь создал файлы манифеста для своего C# COM-сервера, которые должны были обеспечить его активацию без регистрации в системе.

```xml

```

  1. Отладка процесса загрузки: Использование инструмента Fuslogvw.exe позволило отследить процесс загрузки сборки и выявить ошибку в манифестах.

plaintext LOG: DisplayName = vorg.wpfclient, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null (Fully-specified) === LOG: Diese Bindung startet im default-Load-Kontext. ... WRN: Der Vergleich des Assemblynamens führte zum Konflikt: PUBLIC KEY TOKEN. ERR: Der Assemblyverweis entsprach nicht der gefundenen Assemblydefinition.

  1. Исправление манифестов: После анализа логов было обнаружено, что в манифестах не был указан Public Key Token. Это необходимо для корректной идентификации сборки.

```xml

```

  1. Указание версии .NET-runtime: В манифесте COM-сервера и в app.config была указана версия .NET-runtime, которая использовалась для сборки.

```xml

```

  1. Тестирование и запуск: После внесения изменений в манифесты и указания необходимых параметров, приложение было перекомпилировано и запущено. Ошибка OLE 0x8013101b больше не возникала.

Примеры кода на Object Pascal (Delphi):

В рамках данной статьи примеры кода на Object Pascal не предоставляются, так как проблема касалась C# COM-сервера и его взаимодействия с Delphi-приложением. Однако, в контексте сайта, специализирующегося на Delphi и Pascal, важно отметить, что для Delphi-разработчиков важно правильно работать с COM-объектами, включая их создание и использование.

Заключение:

Пользователь успешно решил проблему, следуя инструкциям и инструментам, предоставленным Microsoft для разработки регистрационно-независимых COM-серверов на .NET. Важно внимательно следить за деталями, такими как Public Key Token и версия .NET-runtime, при работе с такими серверами.

Эта статья может служить полезным руководством для разработчиков, сталкивающихся с аналогичными проблемами при интеграции C# COM-серверов с Delphi-приложениями.

Создано по материалам из источника по ссылке.

Описание контекста: Проблема с созданием и использованием C# COM-сервера в Delphi без традиционной регистрации, решаемая через исправление манифестов и указание версии .NET-runtime.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: COM и DCOM ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2024-12-27 01:45:09/0.0033359527587891/0