Centos7.6 は .net 6.0webApi サービスと C++ so ライブラリをデプロイします

Linux 用の .net6.0 skd をダウンロード

cd /root/dotnet/sdk

.net6.0sdkをインストールする

# mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-6.0.110-linux-x64.tar.gz -C $HOME/dotnet

構成を変更する

vim /etc/profile

export DOTNET_ROOT=$HOME/dotnet

export PATH=$PATH:$HOME/dotnet

変更した環境変数を有効にする

source /etc/profile

インストールされている skd を表示する

dotnet --list-sdks

WebApiサービスを実行する

dotnet /filedisk/XW_CommSimSystem.Servic/XW_CommSimSystem.Service.dll

アクセス インターフェイスを表示すると、テストが成功したことが示されます

C++なのでライブラリ呼び出し

 public static class LinkCal
    {
        public const string DLL = "libChannelModel.so";//"ChannelModelDLL.dll";//libChannelModel.so   ChannelModelDLL.dll

        
        [DllImport(DLL)]
        public static extern int calDistance(Vector3D position, Vector3D targetPosition, out double dist);
}

図に示すように、Linux は public const string DLL = "libChannelModel.so"; です。

Windows は public const string DLL = "ChannelModelDLL.dll"

その他の注意事項は、図に示すように、ファイルアドレスにはバックスラッシュが使用されています

バックグラウンドで実行しています。注意: 実行ディレクトリに cd する必要があります。そうしないと、接続 ID "0HMNJTC00CQVH"、要求 ID "0HMNJTC00CQVH:0000007A" など、さまざまな問題が報告されます。アプリケーションによってハンドルされない例外がスローされました。 ...エラーを待ちます

#进入程序目录m
cd /filedisk/XW_CommSimSystem.Service
#后台运行程序
dotnet  XW_CommSimSystem.Service.dll &

すべてのプロセスを表示する

ps aux

プロセスを閉じ、プロセス ID を強制終了します。

kill 12720

バックグラウンドスタート

cd でディレクトリに移動します。

nohup dotnet XW_CommSimSystem.Service.dll &

プロセスを表示する

ps -ef | grep プログラム名## または ps -aux | grep プログラム名

おすすめ

転載: blog.csdn.net/m0_37137902/article/details/128611920