問題タブ [application-settings]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - C# での既定のアプリケーション設定の読み取り
カスタム グリッド コントロール用に (ユーザー スコープで) 多数のアプリケーション設定があります。それらのほとんどは色の設定です。ユーザーがこれらの色をカスタマイズできるフォームがあり、デフォルトの色設定に戻すためのボタンを追加したいと考えています。デフォルト設定の読み方を教えてください。
例えば:
CellBackgroundColor
という名前のユーザー設定がありますProperties.Settings
。- 設計時に、IDE
CellBackgroundColor
を使用して の値を設定しました。Color.White
- ユーザーは私のプログラムでに設定
CellBackgroundColor
します。Color.Black
- で設定を保存します
Properties.Settings.Default.Save()
。 - ユーザーが
Restore Default Colors
ボタンをクリックします。
さて、Properties.Settings.Default.CellBackgroundColor
戻りますColor.Black
。に戻るにはどうすればよいColor.White
ですか?
c# - Settings.Default。永続ストレージ(XMLファイル)の値ではなく、常にデフォルト値を返します
最近、IPアドレスを必要とするクラスを含むDLLをC#(.Net 2.0)で作成しました。私の同僚は、「。dll.config」(XML)ファイルからIPを取得するようにクラスを変更しました。これは、彼が作成した「アプリケーション設定」ファイル(Settings1.settings)によって自動的に生成されるようです。これの利点は、エンドユーザーがXML/configファイルのIPアドレスを自由に変更できるようにすることでした。
残念ながら、彼のコードをツリーからチェックアウトしてこの新しいコードをコンパイル(または使用)しようとすると、このDLLを呼び出すアプリケーションは、ファイルからの値ではなく、デフォルト値のみを取得します。
構成ファイルを呼び出すコンストラクターは次のようになります。
ユーザーが言ったMSDNフォーラムでこの問題への参照を見つけました:
「古い」値(開発時に定義した値)はハードコーディングされています。franeworkが構成ファイルにアクセスまたは開くことができない場合は、代わりにデフォルトが使用されます。これは、dllの設定を使用する場合に常に発生します。
これは、DLLの外部値を構成ファイルに保存できないことを意味しますか?(私の同僚はどういうわけかこの仕事をしました...)
フレームワークが構成ファイルにアクセスまたは開くことができないように見えるので、なぜ失敗するのかを理解するにはどうすればよいですか?または、これがいつ発生するかを検出しますか?
デッカー:それは少し役立ちます。残念ながら、私はこのDLLを仕様に書き込んでいるため、実際にはアプリケーションの構成ファイルにアクセスできません。上記のように、私の同僚は「設定1.settings」ファイルを作成しました。当時は理解できませんでしたが、「1」を追加すると、それを呼び出すアプリケーションの設定スペースから外れるようになりました。
私が理解しようとしているのは、DLLが同じディレクトリの隣にある構成ファイルを見つけられない理由だと思います。コードを段階的にトレースしても、何もわかりません。
余談ですが、アセンブリの「出力タイプ」を「クラスライブラリ」から「Windowsアプリケーション」に変更し、DLLコードの先頭に次の行を追加できます。
これを実行すると、別の構成ファイル( ".exe.config")が生成され、そのファイルを変更して、ファイルから新しいデータを取得することができます。だから私は少し混乱しています。何か案は?
.net - ライブラリ全体のApplicationSettings
すべてのデータベースコードを別のライブラリに抽象化してから、そのライブラリをすべてのコードで使用しようとしています。すべてのデータベース接続は、appSettingsからの接続文字列を使用して、VS2005でデータセットをドラッグアンドドロップして作成した型付きTableAdaptersを使用して行われます。
私が解決できなかった問題は、.NetがライブラリappSettingsをそれを使用している他のプロジェクトに伝播しないことです。
つまり、MyProgram.Clientなどの他のプロジェクトで使用されるデータベースレイヤーライブラリMyProgram.DbLayerがあります。.Clientにすべてのデータセットがある場合、connectionStringはMyProgram.Client.exe.configにあります。ビルド後に変更できます。MyProgram.DbLayerに移動したとき、バイナリをビルドした後、その設定を使用できません。
編集:これは、ApplicationSettingsのより一般的な問題のようです。
私が気付いたのは、ライブラリでのみ使用される設定を手動で追加すると、正しく読み取られるということでした。今必要なのは、設定が.configファイルにも自動的に含まれるようにすることだけです。
.net - mono プロジェクトでアプリケーション設定を使用するにはどうすればよいですか?
アプリケーションを Mono に移植しようとしていますが、Mono は「アプリケーション設定」をサポートしていません。私は Mono Develop を使用しませんし、今後も使用しません。開発は Visual Studio で行います。
これを解決する簡単な方法はありますか?または、独自の設定置換クラスを実装する必要がありますか?
問題がある場合、これは VB.NET アプリケーションです。
c# - アプリケーション設定を Windows フォーム アプリケーションに保存するにはどうすればよいですか?
私が実現したいことは非常に単純です。情報の読み取りにパスを使用する Windows フォーム (.NET 3.5) アプリケーションがあります。このパスは、私が提供するオプション フォームを使用して、ユーザーが変更できます。
ここで、後で使用するためにパス値をファイルに保存したいと考えています。これは、このファイルに保存される多くの設定の 1 つです。このファイルは、アプリケーション フォルダーに直接配置されます。
次の 3 つのオプションがあることを理解しています。
- ConfigurationSettings ファイル (appname.exe.config)
- レジストリ
- カスタム XML ファイル
.NET 構成ファイルに値を保存することは想定されていないことを読みました。レジストリに関しては、できるだけ離れたいと思います。
これは、カスタム XML ファイルを使用して構成設定を保存する必要があるということですか?
もしそうなら、そのコード例(C#)を見たいです。
この件に関する他の議論を見たことがありますが、まだはっきりしていません。
c# - カスタム コンポーネント (WinForms) からアプリケーション設定を追加する方法
フォームに追加すると、いくつかの要素がアプリケーション設定に自動的に追加される WinForms ユーザー コントロールがあります。(もちろん、ユーザーはこの動作をカスタマイズ/無効にできる必要があります。)
それは賢明ですか?これを行う「良い」方法は何ですか?
[編集]
コントロールは、ファイル メニューの既定の実装を提供します。消費者は、デザイナーでメニュー/ツールバー項目を接続し、いくつかの基本的なイベントを実装するだけで済みます。この一部は最近のファイル リストであり、デフォルトで記憶されます。
消費者がこれらの設定を自動的に追加するかどうかを完全に制御する必要があることに同意します。
これまでのところ、ファイル リストをパブリック文字列プロパティとして公開しており、消費者はコードを init に追加して、これをアプリケーション構成から、またはアプリケーション構成に保存できます。可能であれば、これをさらに単純化したいので、消費者は設定を保存したい場所に設定変数を提供するだけです (必要な場合)。
c# - アプリケーション設定を.net3.5に保存できません
ユーザースコープを使用して、ホスト、ユーザー、パスワード、デフォルトのデータベース名などの基本的なデータベース接続情報をアプリケーション設定に保存するアプリケーションを作成しています。
VisualStudio2008で.net3.5を使用しています
ユーザーコントロールに4つのテキストボックスを配置し、それらのテキストプロパティをアプリケーション設定の個々のプロパティにバインドしました。
これらのテキストボックスは、ユーザーからユーザーデータを取得して、独自のデータベース情報を設定します。変更した情報を設定ファイルに保存するボタンがあります
しかし、デザインは保存されていません。誰か助けてくれませんか?
よろしく、アンジャン
Cyrilへ:はい、プロパティに変更された値を割り当てるコードがありましたが、スコープが「ユーザー」に設定されていても、読み取り専用と表示されていました。そこで、プロパティ割り当てコードを削除しました。今、私はコードを戻し、VSを再起動しました、それは今完璧に動作します:Dばかげています、私は前にこの古い手順を試すべきでした。シリルありがとう。
iphone - アプリケーションの設定バンドルでアプリケーション バージョンのリビジョンを表示するにはどうすればよいですか?
アプリケーションの設定バンドルに、アプリケーションのバージョンと内部リビジョン (1.0.1 (r1243) など) を含めたいと考えています。
Root.plist ファイルには、次のようなフラグメントが含まれています...
ビルド時に「VersionValue」文字列を置き換えたいと思います。
リポジトリからバージョン番号を抽出できるスクリプトがあります。必要なのは、ビルド時に Root.plist ファイルを処理 (前処理) し、ソース ファイルに影響を与えずにリビジョン番号を置き換える方法です。
design-patterns - 複数のサーバー/アプリケーション間でグローバル変数を共有する
複数の Web サーバー、サーバー アプリケーション、場合によっては内部デスクトップ ツールにまたがる設定を一元的に管理できるようにしたいと考えています。
現在の状況では、各 Web サーバーまたは各アプリケーション内に設定ファイルがあり、グローバル変数が定義されています: 管理者の電子メール、アップロードされたファイルの保存場所など。一部の設定 (エラー レポートを送信するグローバル管理者の電子メールなど) は、ほぼ全社的に。その他の設定は、クライアントまたはサイト固有の場合があります。
また、この中央データベースで、誰が/何が各設定にアクセスしているかを監視できるようにしたいと考えています。たとえば、5 つの異なる Web サイトで使用される「\\ImageServer\cache\」の値を持つ「ProcessedImageUploadFolder」設定があるとします。この設定を変更したいのですが、中央システムを見ると、この設定を要求しているとは思わなかった6番目のサーバーがあります(呼び出し元のアプリは設定を取得するためにそれ自体を識別する必要があるため、DBはそれをログに記録できます)。6番目のサーバーのこの設定を変更すると副作用。
設定を皿に盛り付けてログに記録するサービスを使用して独自のDBを展開する前に、このようなものを既に処理するライブラリ/アプリがあるかどうか疑問に思っています。このようなことが行われた場合、誰にもアイデアはありますか? このタイプのシステムは何と呼ばれますか?
ソリューションは C#/SQL であることが望ましいですが、唯一のオプションが php や Java のようなものである場合は、おそらくそれをベースとして使用し、それを移植します。
それとも、私はこれについてすべて間違っていますか?
編集: これはマルチテナンシーではありません。このサービスを使用するアプリの一部は、既にマルチテナント セットアップになっています。その他は 1 回限りのアプリです。その他は、ローカル ネットワークまたは VPN で使用されるデスクトップ アプリです。
誰かがこの質問をより適切にタグ付けできる場合は、私のゲストになってください.