2

何もハードコードしなくてもLocalApplicationData フォルダーに出力されるように、WCF サービスの app.config を設定する方法はありますか?

%LOCALAPPDATA%XP では動作せず、XP をサポートする必要がある

うまくいくことがわかりましたがshell:Local AppData、これをapp.configに入れる方法がわかりません

私が見つけることができる次に近いのは ですが%APPDATA%、これは LocalApplicationData と同じではないと思います

最悪の場合、コードを使用して (SpecialFolders を直接使用して) これを行うことはできます (ただし、したくない) が、残りの設定を構成可能に保ちながらこれを設定する方法がわかりません。

4

2 に答える 2

2

Environment オブジェクトから取得できます。

string path;
path = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);

コメントに従って編集します。

今分かります。構成内のパスの一部として使用する独自の環境変数を作成できます。

コマンド:

set mylocalapplicationdata="somewhere"

または C#:

string name = "mylocalapplicationdata";
string value = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
Environment.SetEnvironmentVariable(name, value);

%mylocalapplicationdata%この後、他のシステム変数と同様に使用できます。

1 つのセッション (プロセス)、ユーザー、またはマシン (マシンには管理者権限が必要) に対して変数を設定できます。

詳細情報 (MSDN): http://msdn.microsoft.com/en-us/library/z46c489x.aspx

または、次のように文字列を使用できます。

%USERPROFILE%\Local Settings\Application Data

ただし、これは Windows XP 専用です。

于 2013-01-07T21:16:45.563 に答える
1

組み込みの環境変数だけを使用して、必要な情報を取得する方法はないと思います。WindowsXPとWindowsVista/ 7では情報に一貫性がないため、インストール中に構成ファイルを更新して、OSを特定し、他のWindowsAPIにアクセスできるようにするのが最善の方法だと思います。

于 2013-01-08T14:22:03.207 に答える