ApplicationSettingsBase を使用した C# 設定 - ローミングと共通
-
27-09-2019 - |
質問
私が使っているのは、 Windows フォーム アプリケーション設定アーキテクチャ (ただし、参照する必要があります)、ユーザー設定を AppData に正常に保存しています。
私がやりたいのは、すべてのユーザーに共通のいくつかの設定を行うことです 特定のマシンの いくつかの設定は、マシン間でユーザーとともにローミングします。たとえば、コンピュータに接続されている周辺機器に関する設定 (モデル、設定など) や、ユーザー インターフェイスの色などのユーザー設定があります。
色の設定はユーザーとともに移動する必要がありますが、周辺機器の設定は、誰がログオンしているかに関係なく、ローカル コンピューター上に維持される必要があります。
これらのタイプの設定をマークして、一部が保存されるようにするにはどうすればよいですか? All Users/AppData/...
そしていくつかは [user name]/AppData/...
?
注意してください、私は しないでください アプリケーション レベルの設定が必要 - アプリがインストールされる各コンピューターには異なる設定があります。
違いがあれば、.Net 3.0 をターゲットにしています。
解決
これは、[ SettingsManageability を介して行われます]属性。 LocalFileSettingsProviderクラスのチェックには、属性の存在は限りアプリがClickOnceのが展開されないよう、十分であるように思われます。かなり役に立たないルックス、設定設計者はそれをサポートしていません。
他のヒント
リンク先のページから:
設定ファイルの場所
app.exe.configおよびuser.configファイルの場所は、アプリケーションのインストール方法によって異なります。ローカルコンピューターにコピーされたWindowsフォームベースのアプリケーションの場合、app.exe.configは、アプリケーションのメイン実行可能ファイルのベースディレクトリと同じディレクトリに存在し、user.configはapplication.localuserappdatapathで指定された場所に存在します。財産。ClickOnceによってインストールされたアプリケーションの場合、これらのファイルは両方とも、%installRoot% Documents username Local Settingsの下にあるClickOnceデータディレクトリにあります。
ユーザーが移動プロファイルを有効にしている場合、これらのファイルの保存場所は若干異なります。, 、ユーザーがドメイン内の他のコンピューターを使用しているときに、異なるウィンドウとアプリケーション設定を定義できるようになります。その場合、ClickOnceアプリケーションと非クリコンセアプリケーションの両方に、app.exe.configおよびuser.configファイルが%installroot% documents and settings username applicationデータの下に保存されます。
アプリケーションの設定機能が新しい展開テクノロジーでどのように機能するかの詳細については、ClickOnceとアプリケーション設定を参照してください。ClickOnce Data Directoryの詳細については、ClickOnceアプリケーションのローカルデータとリモートデータへのアクセスを参照してください。