2011-03-26 14 views
0

私はVS2010でC#を使用してプロジェクトを作成していますが、現在プロジェクトのProperties.settingsに書き込んでいる文字列値があります。文字列をproperties.settingsに保存する

マシンをシャットダウンして再起動したときに値が保存されていないように見えることがありましたか?

別の可能性は、私のコードをSVNに委ねると、おそらくそれが書かれていたかもしれないということです。私はProperties.Settingsに文字列値を書くとき

だから、誰かが、私のため

を確認してください可能性があり、これは一時的なものでしょうか?私はそれを代わりにテキストファイルや何かにwrtieする必要がありますか?

お願いします。これに関する情報をよろしくお願いいたします。

ありがとうございます;

答えて

1

これらのアプリケーションスコープまたはユーザースコープはありますか?アプリケーションスコープの設定は、実行時には変更できません。

設定を保存するには、Settings.Save()を呼び出していますか?

は、詳細については、このMSDNの記事を参照してください。 Using Settings in C#

+0

システムをシャットダウンしてもこれらの設定は保存されますか?彼らがシステム再起動のためにそれらを保存する必要があるので、彼らが一時的ではないことを確認したかった。 – PleaseHelp

+1

あなたがそれらを保存している場合、それらは最も永続的です。作成された設定ファイルで結果を確認できるはずです。アプリケーションスコープの設定は、.exeで動作するファイルに保存されます。実行時に変更して保存するので、これらはユーザースコープでなければなりません。ユーザースコープの設定は、使用しているWindowsのバージョンによって異なる場所に配置されますが、C:\ Documents and Settings \ username \ Local Settings \ Application Dataのようなものです。 Visual Studioを再起動しても、値がどのように保持されているかがわかります。 – jmccarthy

0
  • 設定はディスクに保存されている、パスが予言するのは難しいですが、.NET Frameworkがそれを管理しているため。ユーザースコープのプロパティが保存されるパスの例:

D:\ユーザーはロボ\のAppData \ローカル\ DataCrea \ WorkShifts.exe_Url_4ssvgihryk04nltgkxam4dh4bdhymcqa \ 0.9.28.0 \ user.config

  • \プロパティは、コマンドの後に毎回保存する必要があります。

    Properties.Settings.Default.Save();

  • 次のことが問題に影響するかどうかは不明ですが、ブール値プロパティCallUpgrade = Trueを追加するとよいでしょう。次に、あなたのメインのコンストラクタに以下の行を追加します。

    //upgrade properties, if version was increased 
        if (Settings.Default.CallUpgrade) 
        { 
         Settings.Default.Upgrade(); 
         Settings.Default.CallUpgrade = false; 
         Settings.Default.Save(); 
        } 
    

...アップグレードは、()以前のバージョンからの設定の正しい移行を確保します。

0

あなたは私がウィンドウの位置や大きさを思い出すために使用するいくつかのコードです。ここProperties.Settings.Default.Save();

を呼び出すなら、彼らが永久的に保存されます。

private void save_position(object sender, CancelEventArgs e) 
{ 
    Properties.Settings.Default.Save();    
} 
:これにより

<Window x:Class="my_namespace.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="clr-namespace:my_namespace" 
    Closing="save_position" 
    Height="{Binding Source={x:Static local:Properties.Settings.Default}, Path=height, Mode=TwoWay}" 
    Width="{Binding Source={x:Static local:Properties.Settings.Default}, Path=width, Mode=TwoWay}" 
    Top="{Binding Source={x:Static local:Properties.Settings.Default}, Path=top, Mode=TwoWay}" 
    Left="{Binding Source={x:Static local:Properties.Settings.Default}, Path=left, Mode=TwoWay}"> 

が背後にあるコードで

関連する問題