可执行文件无法访问环境变量,但如果从Visual Studio(C#)启动,则可以访问环境变量
当我从VisualStudio启动程序时,root是预期的目录。但是,当自己启动它时(有或没有管理员权限),root是未定义的 如果我将结果写入日志文件,则结果如下所示:可执行文件无法访问环境变量,但如果从Visual Studio(C#)启动,则可以访问环境变量,c#,visual-studio,environment-variables,C#,Visual Studio,Environment Variables,当我从VisualStudio启动程序时,root是预期的目录。但是,当自己启动它时(有或没有管理员权限),root是未定义的 如果我将结果写入日志文件,则结果如下所示: 从Visual Studio启动: 开始记录 访问根目录 我自己启动它: 开始记录 根未定义! 编辑:此env变量在“HKEY\U LOCAL\U MACHINE\System\Control\Session Manager\Environment”中定义 当我在提示中键入SET时,它会显示出来。当我访问环境变量时,它
从Visual Studio启动: 开始记录 访问根目录
我自己启动它: 开始记录 根未定义! 编辑:此env变量在“HKEY\U LOCAL\U MACHINE\System\Control\Session Manager\Environment”中定义 当我在提示中键入SET时,它会显示出来。当我访问环境变量时,它不会显示 从计算机->属性->高级设置
程序应该在具有相同设置的机器上工作,因此用户不会自己定义变量(这将使程序可以访问环境)。我怀疑没有为正在运行进程的用户定义环境变量 存在系统和用户特定的环境变量
您可以在提示符下键入
env
(或set
),列出已设置和未设置的变量。您自己定义了此变量吗?我已为该问题添加了更多详细信息。
string root = System.Environment.GetEnvironmentVariable("ROOT").