.net core跨平臺應用研究-ubuntu core下配置.net core運行時

引言

        年初研究了一陣子.net core跨平臺應用,前後發表了幾篇應用研究的文章。因工做緣由,忙於項目上線,有一陣子沒來博客園寫文章了。最近項目基本收尾,抽空翻了下本身的博客,寥寥幾篇文章,真讓人汗顏。html

       近半年來,實施項目的是徹底基於.net core進行開發,部署運行於ARM Cortx-A7芯片上的嵌入式Linux系統中,直接原生應用部署,是一個典型的跨平臺開發應用。項目實施中,也積累了很多跨平臺應用的心得,擬抽空將一些與項目業務無關的內容進行整理分享,以期對各位使用.net core平臺開發的朋友能有必定的幫助。linux

環境介紹

       筆者實施的項目,是一個協議網關型的項目應用。ubuntu

       硬件採用ARM Cortx-A7,512MB內存,8GB eMMC存儲,10/100Mbps以太網,具備多個UART通信接口和若干GPIO。windows

       系統環境爲基於Linux4.14的ubuntu core(16.04),兼容Ubuntu系統軟件源,集成了QT(筆者並無用到),很是適合於企業用戶用做產品的基礎OS。app

      

跨平臺應用

       筆者的項目,涉及到若干通信接口和必定的硬件操做,應用了很多開源類類庫:框架

       flyfire.CustomSerialPort            筆者自行封裝的開源跨平臺類庫curl

       NModbus.SerialPortStream      支持跨平臺的Modbus類庫測試

       MQTTnet                                 一個支持.net core的開源的MQTT類庫url

       NodaTime                                一個用於處理UTC時區的開源類庫.net

       ………

       以上類庫,都可在windows系統和筆者所使用的ubuntu core(linux4.14)平臺正常運行。

部署.dotnet core運行時

       囉嗦了半天,無非是介紹了一下筆者的跨平臺應用的一些背景,仍是迴歸本文主題,介紹一下如何在ubuntu core(非ubuntu桌面環境)環境下部署.dotnet core程序運行環境。

更新軟件源

sudo apt-get update

安裝庫依賴

sudo apt-get install libcurl3

sudo apt-get install libunwind8

根據微軟官方文檔介紹,須要安裝相關依賴,實際使用中,不安裝貌似並沒有影響呵。^_^

下載或複製運行時壓縮包

下載的話,可能有的系統須要先執行以下安裝

sudo apt-get install curl

下載32位版本

curl -sSL https://download.visualstudio.microsoft.com/download/pr/428aaa32-f66c-4847-b845-aa21f90504e4/1cf033db866414997140c2672bd75069/dotnet-runtime-2.2.6-linux-arm.tar.gz  -o dotnet-runtime-2.2.6-linux-arm.tar.gz

 下載64位版本

curl -sSL https://download.visualstudio.microsoft.com/download/pr/f5e04830-50fc-435c-8bb5-fcd4629da944/8aa7cce5c3fcb6a7db180b923d3574ef/dotnet-runtime-2.2.6-linux-arm64.tar.gz -o dotnet-runtime-2.2.6-linux-arm64.tar.gz

 

根據須要,下載對應版本便可。筆者使用的運行時爲2.2.6。

解壓安裝

解壓安裝dotnet core運行時到指定目錄(/~cli/dotnet)

普通用戶在運行時所在壓縮包目錄運行以下命令:

sudo mkdir -p /~cli/dotnet && sudo tar zxf dotnet-runtime-2.2.6-linux-arm.tar.gz -C /~cli/dotnet

 

root用戶運行以下命令:

mkdir -p /~cli/dotnet && sudo tar zxf dotnet-runtime-2.2.6-linux-arm.tar.gz -C /~cli/dotnet

 

注:目錄能夠根據須要自定義,並沒有具體要求。

建立程序快捷方式

ln -s /~cli/dotnet/dotnet /usr/local/bin

按以上步驟,即完成了.net core運行時在ubuntu系統上的安裝部署

輸入:dotnet –info 命令查看運行時信息,正常的話,結果以下圖

 

 如圖,dotcore運行時已成功部署到了ubuntu core系統中。

發佈程序

將dotnet core程序進行部署發佈,筆者使用本身開源的HelloArm串口測試程序進行演示

        

 

 

 

       

 

 

 

        配置發佈部署模式,這裏使用的是框架依賴方式進行發佈,適合在開發過程當中,常常須要修改更新的項目。關於獨立部署發佈模式,在筆者的《.Net Core跨平臺應用研究-HelloArm(串口篇)》中有所介紹,有興趣的朋友可自行查閱。

 

        

 

       最後,點擊發布,將程序打包生成到bin\Release\netcoreapp2.2\publish\目錄下。

       將發佈的程序目錄複製到目標平臺

      

 

        賦予目標程序可執行權限(dotnet core的可執行文件爲dll呵)

      

       修正說明:經過dotnet core框架依賴方式發佈運行,無需對被調用的dll文件提高可執行權限。

運行程序測試

        

 

        打完收工。

相關文章
相關標籤/搜索