2009-08-11 9 views
1

これは簡単な質問のようですが、インターゴーグルは親切ではありません。ユーザーごとにカスタム設定で.Netアプリケーションを展開する方法

私はC#デスクトップアプリケーションを持っています。そうでなければアプリケーションの実際の機能性から独立しているため、顧客の組織の名前など、顧客ごとにカスタマイズする必要のあるプロパティがあり、そのためにコンパイルする必要はありません。

このデータをアプリケーションから取り出し、VS(2008)で管理し、それを顧客のデスクトップに展開するには、どのような方法が適していますか?

たとえば、2つの別々の組織に2人の別個のユーザーがいるとします。そのため、それぞれ別々の設定が必要です。それぞれのapp.configファイルを作成するだけですか?新しいapp.configファイルに対応するために、各ユーザーのセットアッププロジェクトを再構築する必要がありますか?

あなたはINIファイルで、またはターゲット・システム上のレジストリで、app.configファイル内の情報の種類を格納することができ、あなたに

答えて

2

に感謝します。

あなたが決める方法に応じて、使用可能なサンプルコードがたくさんあります。

C# App.Config files

C# INI files

C# Registry access

+0

ありがとうございます。だから、私はapp.configを使います - 異なるapp.configファイルを別のユーザーに配布する仕組みは何ですか? –

+0

探しているデータが存在しない場合は、そのデータを入力するように促し、次回のために保存します。 – BoltBait

2

は、アプリケーション設定のサブシステムは、あなたが強く型付けされた作成することができますユーザー単位またはアプリケーション単位で設定できます。プロジェクトを右クリックし、[プロパティ]を選択し、[設定]タブをクリックします。 Application Settings Overviewから


アプリケーション設定は、クライアントコンピュータ上 ストアに両方のアプリケーションスコープと ユーザースコープの設定を簡単な方法を提供することで、両方の ニーズに対応しています。 Visual Studioまたは コードエディタを使用して、 の名前、データ型、およびスコープ (アプリケーションまたはユーザー)を指定して、特定のプロパティの の設定を定義します。あなたも の関連設定を という名前のグループにまとめると、使いやすく読みやすくなります。 これらの設定が定義されると、 が保持され、実行時にメモリ に自動的に読み込まれます。プラッガブルな アーキテクチャでは、永続性のメカニズムを変更することができますが、 デフォルトでは、ローカルファイルシステムは です。

アプリケーション設定は、設定 はアプリケーションスコープまたはユーザスコープであるか否かに応じて異なる 構成(の.config)ファイルにXMLとして 持続データ、 によって働きます。 ほとんどの場合、アプリケーションスコープの 設定は読み取り専用です。彼らは がプログラム情報なので、 は通常それらを上書きする必要はありません。 一方、部分的な信頼の下で が実行されたとしても、ユーザースコープの設定は の実行時に の時刻に安全に読み書きできます。部分信頼に関する詳細については、 を参照してください。Windowsフォームの概要の セキュリティを参照してください。

設定を追加すると、Visual Studioは設定クラスで強く型付けされたプロパティを作成します。また、アプリケーション設定ファイルにエントリを作成します。アプリケーション設定の場合、これが実際の設定値です。必要に応じて、インストール時に変更することができます。ユーザー設定の場合、これが設定のデフォルト値です。ユーザーは実行時に値を変更できます。 Saveメソッドを呼び出して、変更された値を保存することができます。ユーザー設定の現在の値は、ユーザーがローミングしているかローカルなのかに基づいて、適切なユーザーごとのフォルダに格納されたuser.configファイルに格納されます。

Windowsフォームで使用すると、フォームとコントロールのさまざまなプロパティをデザイン時にアプリケーション設定にバインドすることができます。つまり、アプリケーションが起動すると、これらのプロパティは設定から​​初期値を取得します。実行時に値が変更されると、設定が変更されます。アプリケーションが終了する前に、変更した設定を保存することができます。アプリケーションが再び起動すると自動的に使用されます。これは非常に少ないコードを要します。

これらは.NET 2.0のWindowsフォーム用に作成されたものですが、他のプロジェクトタイプ、特にユニットテストプロジェクトでも使用しています。もちろん、その状況では、ユーザーごとの設定はありません。

+1

ありがとうございます。私はその例を編集した。私は、アプリケーション設定サブシステムを少し使いました。 app.configを使用すると、アプリケーションをインストールするときに異なるapp.configファイルを異なるユーザーに配布するメカニズムは何ですか? –

関連する問題