發佈在Window環境上的微服務須要部署在Linux環境上,本覺得沒有什麼問題,結果由於一處讀取文件路徑的緣由報錯了,在此記錄一下兩個問題:1.C#如何判斷當前運行環境是什麼操做系統;2.C#讀取文件傳輸路徑是什麼?sql
1、判斷當前操做系統:微服務
var env = Environment.GetEnvironmentVariables(); //獲取當前環境變量 var os = Convert.ToString(env["OS"]); //獲取當前操做系統 var dr = Convert.ToString(env["SystemDrive"]); //獲取當前系統驅動盤
其中運行在Windows系統下os的值是"Windows_NT"。spa
2、C#讀取文件傳輸路徑:操作系統
string fileName = dr + @"../../../ExecuteSql/"; //root/ExcuteSql文件夾下的文件 var filePath = fileName + usData.File; //文件名 string sql = System.IO.File.ReadAllText(filePath); //讀取文件
注意兩點:1.斜槓是"/";2.路徑和文件名必定注意大小寫,由於Linux是區分大小寫的。code