string root = System.Environment.GetEnvironmentVariable("ROOT").
当我从Visual Studio启动程序时,root是预期的目录。但是,当我自己启动它时(有或没有管理员权限),root是未定义的。
如果我将结果写在日志文件中,这就是它的样子:
从Visual Studio启动:
开始记录
访问根目录 ....
自己发布:
开始记录
Root未定义! ......
编辑:此env变量在“HKEY_LOCAL_MACHINE \ System \ Control \ Session Manager \ Environment”中定义。
当我在提示符下键入SET时显示。当我访问环境变量时它不会显示 来自Computer-> Properties-> Advanced Settings。
程序应该在具有相同设置的机器上工作,因此用户不会自己定义变量(这将使程序可以访问环境)。
答案 0 :(得分:0)
我怀疑没有为运行该进程的用户定义环境变量。
http://support.microsoft.com/kb/310519
有系统和用户特定的环境变量。
您可以在提示符下键入env
(或set
),以列出已设置的内容和未设置的内容。