雖然沒辦法所有系統都用.NET Core重新開發,但還是有小部分功能可以趕上跨平台的潮流,我們來試試在Linux(Red Hat Enterprise)環境跑.NET Core。
準備Linux環境
先從Azure新增一台Linux(Red Hat Enterprise 7.3),不過只能選擇Pay as You Go付費方案!
*為了管理方便,後面可以安裝xrdp tigervnc-server 來讓我們能直接windows透過mstsc登入linux環境。
.NET Core 安裝
1. Enable .NET Core Repository
Enable the .NET Core channel for Red Hat Enterprise Linux 7 Server
subscription-manager repos –list | grep dotnet
subscription-manager repos --enable=rhel-7-server-dotnet-rpms
執行結果
2.Set Up Your Development Environment
enable support for Software Collections on a system
yum install scl-utils
Install and enable the .NET Core SDK
yum install rh-dotnetcore11
執行
3.add dotnetcore to bash 指令中
首先先測試一下,我們來看一下dotnet core安裝的版本
dotnet --version
執行結果
找不到dotnet command,這時我們要將dotnetcore加入bash指令,然後再查詢一次dotnet core版本
scl enable rh-dotnetcore11 bash
dotnet --version
現在是認得了,但重新打開terminal視窗,dotcore又不認得了
4.如果要讓下一次shell啟動時仍然認得dotnet,我們必須編輯non-login shell Startup File(bashrc檔案)
增加一行
範例如下:
儲存,然後關閉編輯器及terminal,接著重新打開terminal再試一次。
再也不會認不得dotnet了。
測試.NET Core
1.先準備好資料夾,並切到dotnet目錄下
mkdir dotnet
cd dotnet
Dotnet core CLI (notnet new) :
根據指定的範本建立新的專案、組態檔或方案
dotnet new
執行,預設會新增主控台應用程式,預設會下載Hello專案程式。
自動下載program.cs及project.json的專案檔
打開programs.cs,連寫Hello World!的時間都可以省下來了
dotnet restore命令
命令會使用 NuGet 來還原相依性以及專案檔中指定的專案特定工具。 *預設會平行執行相依性和工具的還原。
dotnet restore
執行
多了一個lock檔案
dotnet run指令
從原始碼執行,run指令會先編譯程式碼,然後執行
Hello World!
我們也可以切到bin的目錄下直接透過dotnet指令執行dotnet.dll
環境準備好了!
下一次我們從Windows開發專案產出組件,接著Porting到Linux執行。
往WORA(write once run anywhere)挺進
參考:
Install for Red Hat Enterprise Linux 7 Server (64 bit)
INSTALLING .NET CORE ON RED HAT ENTERPRISE LINUX