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