发布在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是区分大小写的。