如何检测 OS 我的 Asp.Net 核心应用 运行 是否开启?

How to detect OS my Asp.Net Core app is running on?

我有一个 Asp.Net Core 1.0.0 应用程序可以在 Linux 和 Windows 上运行。在应用程序中,我需要上传文件并将它们保存在 wwwroot 子文件夹中。我得到 IHostingEnvironment.WebRootPath 并指定一个子文件夹。由于路径的原因,它在 Windows 上工作正常但在 Linux 上不工作。 Window的\当然不行。那么如何检测我的应用程序是 Windows 上的 运行 还是来自控制器的 Linux 并选择适当的路径分隔符?

除此之外,您应该使用 Path.Combine 来生成目录名称。例如:

var root = env.WebRootPath;
var myDirectory = Path.Combine(root, "subdirectory");

您可以在 Windows 和 Linux

上使用 /