shtrih-m / fr_drv_ng

релизы и поддержка драйвера fr_drv_ng
35 stars 4 forks source link

C#: Сборка обертки и пример использования на .NET Core #277

Open ptzremote opened 4 months ago

ptzremote commented 4 months ago

Есть необходимость общаться с ФР из кода C#. Наткнулся на ваш драйвер, но не получается его использовать. Следовал данной инструкции https://github.com/shtrih-m/fr_drv_ng_examples/tree/master/classic_csharp Добавил в NET проект ссылки на classic_fr_drv_ng_csharp.dll и classic_fr_drv_ng.dll, но получаю ошибку:

Warning MSB3246 : найденный файл имеет неправильный образ, не имеет метаданных или недоступен по другим причинам. System.BadImageFormatException: Could not load file or assembly 'classic_fr_drv_ng_csharp.dll'. The module was expected to contain an assembly manifest. File name: 'classic_fr_drv_ng_csharp.dll'

Возможно, у кого-то получилось использовать данный драйвер на .NET Core? Подскажите, какие шаги выполняли? (желательно на Windows)

SnakePliskin777 commented 4 months ago

Если под винду, так удобнее юзать COM-библиотеку, что ставится вместе с "Драйвер ФР". этот же драйвер хорош при кроссплатформенной реализации, тогда есть смысл идти дальше )

swex commented 4 months ago

посмотрите эту тему: https://github.com/shtrih-m/fr_drv_ng/issues/255

ptzremote commented 4 months ago

посмотрите эту тему: #255

эту тему смотрел, но к сожалению она не помогла...

Если под винду, так удобнее юзать COM-библиотеку, что ставится вместе с "Драйвер ФР". этот же драйвер хорош при кроссплатформенной реализации, тогда есть смысл идти дальше )

желательно именно кроссплатформа.

SnakePliskin777 commented 4 months ago

желательно именно кроссплатформа.

в таком случае придется собирать библы отдельно под каждые ОС. Но это другая история.

Линковать сами библиотеки в проект не надо, они же нативные, в проект нужно добавить прокси сгенерированный swigwin. в нем уже есть маршалинг к этим библам. Сами библы по умолчанию д.б. в корневом каталоге. Либо, если надо, уже прописывать пути в прокси к нужному каталогу.