2012-01-01 18 views
15

My.Settingsの値はプログラム自体に保存されていますか、レジストリに格納されていますか?たとえば、プログラムでMy.Settingsの値を設定した場合、プログラム自体を別のPCにコピーします - まだMy.Settingsの値が設定されていますか?My.SettingsはVB 2010 .NETにどこに保存されていますか?

+0

いいえ、それがユーザー設定の場合。あなたのアプリケーションには、アプリケーション設定のみが適用されます。 –

答えて

29

あなたが選択したscopeによって異なります。アプリケーションとユーザースコープの2つのスコープ設定があります。 MSDNの記事から

アプリケーションスコープの設定は読み取り専用であり、そのアプリケーションのすべての ユーザ間で共有されています。これらの設定は、このセクションのapp.config ファイルに格納されています。実行時に、app.config ファイルがbinフォルダにあり、 アプリケーション名(MySettingsDemo.exe.config)で名前が付けられます。

ユーザー範囲設定は、各ユーザーに固有のものです。これらは実行時にアプリケーションコードによって安全に読み取られ、 に設定されます。これらの設定は、user.configファイルに格納されている です。技術的に正確であるためには、 二つの非ローミングのためのアプリケーション - 1ユーザーあたりuser.configsとローミングのための1 があります。 Visual Basic 2005のドキュメントは user.configファイルがユーザーの名前 (joe.config)に従って命名されることを述べているが、これはそうではありません。 user.configファイルが に作成されます。彼らは、ユーザーの設定をしている場合、彼らは間違いなく、プログラム内に格納されていない

<c:\Documents and Settings>\<username>\[LocalSettings\]ApplicationData\<companyname>\<appdomainname>_<eid>_<hash>\<verison>. 
3

- それが実現するのは非常に簡単で、むしろ無意味ではありません。むしろ、%AppData%フォルダの設定ファイルに格納されています。だから、あなたがプログラムをコピーした場合、ユーザー設定にはアプリケーション設定だけが付属しません。

2

あなたのMySettingsは `Cで保存された設定ファイルに保存されます、その後のClickOnceを使用してアプリケーションをインストールした場合:\ユーザーは、のAppData \ローカル\アプリ\ 2.0 \データを\\ ........ yourapp.exe.configが

ものとして指定されたファイルでこれらのパスに

検索はMySettingsは、そのアプリケーションのapp.configファイルにし、アプリケーション名として保存されてapp.configファイルを公開した後に保存されますです。 exe.configファイル

3
Dim config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal) 
MessageBox.Show(config.FilePath) 
関連する問題