我正在使用 C# 开发控制台应用程序,正常运行时将访问 Vista 和 Windows 7 上“C:\ProgramData”中的通用应用程序数据文件夹。
例如:
System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)
但是,在某些情况下,此应用程序将从服务(例如 TeamCity)生成,这将返回类似“C:\Windows\system32\config\systemprofile\AppData\Roaming”而不是“C:\ProgramData”的内容。我知道这是服务的预期行为,但在我的应用程序中没有预料到它,因为它不是服务(只是由服务启动)。
我希望这种行为保持一致,以便在手动运行应用程序或通过 TeamCity 运行应用程序时,我现在拥有重复的配置文件等。这可能吗?
谢谢,艾伦