如何将C# Gdal项目发布到Debian

问题描述 投票:0回答:1

我有一个使用 GDAL 和 GDAL.Native 包的 .NET Core C# Web 项目。一切在本地运行良好,但在发布到 Debian 服务器后,它会报告一堆消息,例如

/usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.0/osr_wrap.so:无法打开共享对象文件:没有这样的文件或目录 /var/www/appRoot/osr_wrap.so:无法打开共享对象文件

我的gitlab脚本是:

build-backend:
  stage: build-backend
  image: mcr.microsoft.com/dotnet/sdk:latest
  script:
    - cd appDir
    - dotnet restore
    - dotnet build --configuration Release
    - rsync -av --delete bin/Release/net8.0/ /var/www/appRoot/

项目的其他组件在发布后运行良好。我错过了什么?

c# linux gdal
1个回答
0
投票

那么,您至少缺少一个共享对象。很可能你错过了更多。我对 C#/gdal 绑定知之甚少,但所有各种语言绑定(c/c++ 之外)都需要一个绑定层,高级语言(在您的情况下为 C#)可以调用该绑定层,进而调用所需的 GDAL 功能。一个简单的搜索就会发现这个:

gdal_csharp.dll
ogr_csharp.dll
osr_csharp.dll
gdalconst_csharp.dll
gdal_wrap.dll
ogr_wrap.dll
osr_wrap.dll
gdalconst_wrap.dll

我假设 debian 安装需要等效的 .so 包装器

© www.soinside.com 2019 - 2024. All rights reserved.