一部のユーザー データの設定 ( )内でシリアライズ可能な (と呼びましょうGs
) クラスを使用します。user.config
ただし、VS2012 でアプリケーションを再コンパイルすると、設定が失われることがあります。これは、デフォルトにリセットすることを意味します (基本的に、使用されているクラスのコンストラクターで設定されたデフォルト値)。それ以外の場合、それらは持続します。
実際、私はこれがいつ起こっているのか疑問に思っていました。最初に思ったのは、私が変わるたびにGs
. しかし、これは正しくありません。クラスにかなりの変更を加えたことがありますが、テストのためにアプリケーションを実行すると、変更された値は以前に保存されたままになりました。
一方、値は の変更なしでリセットされましたGs
。次の理論は、プロジェクトのバージョン番号を変更するたびでした。へのパスにuser.config
はバージョン番号が含まれています。これが理由でしょうか? ただし、ClickOnce アプリケーションの場合、バージョン番号を変更しても設定には影響しません。また、バージョン番号を変更せずに値がリセットされることもあります。
では、ディスク上のシリアル化された値が消去され、変更が影響を与えない場合のルールは何ですか。組み合わせだと思いますが、or
他の理由でバージョン番号が変更されました。