当前,我使用Path.GetTempPath()
来确定将日志文件写入何处,但是最近我遇到了一个用户的计算机,该计算机返回的路径不是我期望的。
通常,返回的路径是 C:\Documents and Settings\[userid]\Local Settings\Temp
但是在这种情况下,它是 C:\Temp
通常这不是问题,但是由于某种原因,相关用户无权写入 C:\Temp
我仔细检查了环境变量,并且USER环境变量按预期指向 C:\Documents and Settings\[userid]\Local Settings\Temp ,而SYSTEM环境变量指向 C:\WINNT\Temp 。
所以... Path.GetTempPath()
从哪里获得它的值(value)?组策略?注册表?
我已经谷歌搜索,但无济于事。
最佳答案
(使用Reflector)Path.GetTempPath()
最终调用Win32函数GetTempPath(来自kernel32.dll)。此状态的MDSN文档:
请注意,他们还指出并不检查路径是否实际存在或可以写入,因此您可能最终尝试将日志文件写入不存在的路径或无法访问。
关于c# - 什么决定Path.GetTempPath()的返回值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2365307/