0
string root = System.Environment.GetEnvironmentVariable("ROOT").

当我从 Visual Studio 启动程序时,根目录是预期的目录。但是,当我自己启动它时(有或没有管理员权限),root 是未定义的。

如果我将结果写入日志文件,它看起来是这样的:


从 Visual Studio 启动:

开始日志

访问根目录....


自己启动它:

开始日志

根未定义!……

编辑:此环境变量在“HKEY_LOCAL_MACHINE\System\Control\Session Manager\Environment”中定义。

当我在提示中键入 SET 时,它会显示出来。当我从计算机-> 属性-> 高级设置访问环境变量时,它不会显示。

该程序应该在具有相同设置的机器上运行,因此用户不会自己定义变量(这将使程序可以访问环境)。

4

1 回答 1

0

我怀疑没有为运行该进程的用户定义环境变量。

http://support.microsoft.com/kb/310519

有系统和用户特定的环境变量。

您可以在提示符处键入env(或set)以列出已设置和未设置的内容。

于 2013-07-26T19:43:12.063 回答