如何获得CommonApplicationData文件夹的一致行为?

时间:2012-09-11 18:35:37

标签: c# .net service teamcity profile

我正在使用C#中的控制台应用程序,当正常运行时,将访问Vista和Windows 7上“C:\ ProgramData”中的公共应用程序数据文件夹。

例如:

System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)

但是,有时会从服务(例如TeamCity)生成此应用程序,这将返回类似“C:\ Windows \ system32 \ config \ systemprofile \ AppData \ Roaming”而不是“C:\ ProgramData”的内容”。我知道这是服务的预期行为,但由于它不是服务(仅由服务启动),因此不会在我的应用程序中发现它。

我希望这种行为保持一致,以便在手动或通过TeamCity运行应用程序时,我现在拥有重复的配置文件等。这可能吗?

谢谢, 艾伦

1 个答案:

答案 0 :(得分:0)

使用环境变量玩一点怎么样?请参阅GetEnvironmentVariable SetEnvironmentVariable。如果您的应用程序具有权限,则无需复制配置/代码。

相关问题