0

VistaおよびWindows 7の「C:\ ProgramData」にある共通のアプリケーションデータフォルダーに通常実行するとアクセスするC#のコンソールアプリケーションに取り組んでいます。

例えば:

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

ただし、このアプリケーションがサービス (TeamCity など) から生成され、「C:\ProgramData」ではなく「C:\Windows\system32\config\systemprofile\AppData\Roaming」のようなものが返される場合があります。これはサービスの予期される動作であることは理解していますが、サービスではない (サービスによって開始されたばかり) ため、アプリケーションでは予期していませんでした。

アプリケーションが手動または TeamCity によって実行されたときに構成ファイルなどが複製されるように、この動作を一貫させることをお勧めします。これは可能ですか?

ありがとう、アラン

4

1 に答える 1

0

環境変数で少し遊んでみませんか?を参照してください。アプリケーションに十分な権限がある場合は、構成/コードを複製する必要はありません。GetEnvironmentVariable SetEnvironmentVariable

于 2012-09-11T18:49:39.620 に答える