gpt4 book ai didi

c# - Environment.GetFolderPath(...CommonApplicationData) 在 XP 和 Server 2003 上返回空字符串

转载 作者:行者123 更新时间:2023-11-30 18:41:16 29 4
gpt4 key购买 nike

这似乎完全是随机发生的。一分钟程序还在运行,然后我做了一些更改(与程序的这一部分完全无关,我实际更改的只是项目的嵌入式资源之一),下面的属性现在只返回一个 "\"

public static string ProgramDataDir
{
//this has always worked on all windows OSes before, but all of a sudden, not so
//get { return Environment.GetEnvironmentVariable("ProgramData") + @"\"; }

//I've tried changing it to this, and this doesn't work either - same results
get { return Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + @"\"; }
}

在 XP 和 Server 2003 上,此属性应该并且一直返回 C:\Documents and Settings\All Users\Application Data。这不再适用于虚拟 2003 机器和虚拟 XP 机器, 两者都在同一个虚拟主机上运行。主机对这些环境变量没有任何影响,是吗?会不会是我的虚拟主机有问题?不幸的是,我没有可用的独立 Server 2003 或 XP 机器来安装此软件并在其上运行测试。

注意:我意识到这部分本身不是编程问题,更像是服务器问题,但由于其余问题的性质,我觉得它仍然适合 SO,请纠正我'我错了。

此外,我已经有一段时间没有接触这个项目了,我很确定除了程序集版本号之外我没有更改任何设置,但我不知道也不记得我是否更改过最后一个工作版本之后的任何编译设置或类似设置。这些设置中的任何一种都会对我的应用程序产生这种影响吗?

该应用程序作为 Windows 服务运行,因此使用任何用户特殊文件夹都不适合该应用程序。

最佳答案

该路径是否存在于您的机器上或是否以其他方式被替换?根据documentation for Environment.GetFolderPath :

A folder will not physically exist if the operating system did not create it, the existing folder was deleted, or the folder is a virtual directory, such as My Computer, which does not correspond to a physical path.

您会遇到这种情况吗?

关于c# - Environment.GetFolderPath(...CommonApplicationData) 在 XP 和 Server 2003 上返回空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7028821/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com