2

最初の奇妙さ:

Settings.settingsデバッグモードと非デバッグモードでファイルから異なる値を取得するのはなぜですか。つまり、デバッグなし(run->デバッグなしで開始)およびデバッグモード(rub-> debug)でアプリケーションを起動します。また、これらのモードでは、同じキーに対して常に異なる値が表示されます。

2番目の奇妙さ:

Settings.settings実行時にアプリケーションでファイルに保存されている値を変更しても、値は変更されません。Visual Studioで開くと、このファイルに以前の値が表示されます。Default.Save()変更を保存するために電話することを忘れないでください。

それらの理由は何ですか?なぜそれらが発生し、どうすればそれらを解決できますか?

4

1 に答える 1

4

理由は簡単です。デバッグするときは、アプリケーション自体を起動するのではなく、コードが実行されるVisualStudioホスティングプロセスを起動します。設定は実行可能ファイルごとに固有であるため、VS Debuggerでホストされている実行可能ファイルについては、アプリケーションを直接起動した場合と同じように、以前に保存されたさまざまな設定が返されます。

で選択することにより、この奇妙な動作を無効にすることができます

プロジェクトのプロパティ-デバッグ-

    uncheck Enable Visual Studio Hosting Process.

アプリケーションスコープの場合、設定は不変(読み取り専用)です。ユーザースコープを使用して設定の保存を呼び出すと、それらはユーザープロファイルに保存されます。app.configの内容が変更されることはありません。これは、管理者のみがアプリケーションをインストールできるようにするための意味があります。後でユーザーは、ローカルユーザープロファイルに「diff」を書き込むことで設定を変更できます。

于 2012-05-06T10:46:37.243 に答える