0

すべて、私はアプリケーション設定を「application.exe.config」ファイルに書き込む通常のことを使用しています。

Properties.Settings.Default.SomeSetting = someVal;
Properties.Settings.Default.Save();

インストール間で設定を保持するように求められましたが、2つのルートがあります。レジストリの使用に切り替えるか、.configファイルをインストール間で保持される別の特別なフォルダに保存します(設定の数が多いため、後で選択しました)。

私の.configは奇妙なディレクトリに書き込まれます。

C:\Users\Administrator\AppData\Local\MyApp\
    MyApp.vshost.exe_Url_mzfwtdo5po4pcuabybebhsn5yfltbb3w\1.0.0.0

私の質問は、C#でこのディレクトリを取得するにはどうすればよいですか?

注:私は試しました

string appPath = Application.ExecutablePath;
Configuration config = ConfigurationManager.OpenExeConfiguration(appPath);
string strIPACostConfigFile = config.FilePath;

これにより、インストールディレクトリに最初の.configが追加されます。

御時間ありがとうございます。

4

2 に答える 2

1

私の質問は、C#でこのディレクトリを取得するにはどうすればよいですか?

それはいけません。App.exe.configファイルは、構成ファイルを自分でロード、生成、および保存しない限り、2つの場所のいずれかに配置できます。そうしないと、目的の場所にファイルを見つけることができません。

もちろん、マイクロソフトが決定した場所が正しい場所です

于 2012-05-08T15:33:26.050 に答える
1

設定ファイルの場所を知る必要はありません。デフォルトの設定が必要で、trueプログラムの開始時に次の呼び出しを呼び出します。

if (Settings.Default.IsUpgrade)
{
  Settings.Default.Upgrade();
  Settings.Default.IsUpgrade = false;
  Settings.Default.Save();
}

これにより、以前のバージョンで行われた設定が新しいバージョンに移行されます。

于 2012-05-08T16:01:17.290 に答える