.NET 核心:C# Environment.GetFolderPath 未定义

.NET Core: C# Environment.GetFolderPath not defined

我正在尝试寻找在我的控制台程序中获取当前用户的桌面文件夹的可能性。我找到了这个:

string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);

现在VS报错"Environment"中没有"GetFolderPath"的定义。

也许有人可以帮助我。谢谢!

有两种解决方案(最好使用第一种):

  1. 您需要添加 using 以使您的代码看到系统命名空间。

    using System;
    
  2. 你需要写全名。

    string desktopPath = System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
    

不要忘记将系统引用添加到您的项目中。实际上,默认情况下他就在那里。

将您的项目升级为使用 .net Core 2.0(.net Standard 2.0)。该功能在那里可用,但在早期版本中不可用。

或者,您可以使用普通的 .net 控制台应用程序项目而不是 .net Core 项目,但这不是平台独立的。

注意:虽然 .net Standard 2.0 支持 System.Environment.GetFolderPath它可能无法在所有平台上为所有可能的参数值提供有意义的结果,甚至在某些平台上为某些参数值抛出异常。

对我有用的解决方案:

Environment.GetEnvironmentVariable("UserProfile");

这为您提供了用户配置文件的路径,Desktop 是它的子文件夹。