問題タブ [configurationmanager]
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# - WinForms (C#) APP 設定を .config ファイルに移行する
現在使用している設定ファイルを appconfig ファイルに移行したい。現時点では、そのコピーを作成しようとしていますが、これまでのところ、Config' Manager を使用してファイルに書き込むことさえできません。
私がする必要があるのは、最初にファイルを作成してから書き込み、最後に既に存在するファイルを更新することです!. かなり単純に思えますが、これまでのところ、毎回私を避けています。これまでに言及したすべての資料は、すべて存在すると想定しています。MS MCTS リファレンス ブックにも、サンプル用に既に作成された構成ファイルがあります。
それを作成し、十分な権限があると仮定して、アプリケーションのデフォルトの bin フォルダーに書き込むプログラム的な方法はありますか。
例を見るととても簡単に見えますが、問題のファイルのタイムスタンプを見ると....彼の頭をかきむしっています...脱帽です!
つまり、それらは異なるタイプの構成ファイルですか? 私は web.config と app.config を知っていますが、人々はこの単純な命名テンプレートから実際にどれだけ逸脱していますか?
返信ありがとうございます。イブラー
c# - ConfigurationManagerはSave()に関するXMLコメントを保持できますか?
別のアプリケーションのApp.configファイルの単純なAppSettingを変更し、変更を保存できる小さなユーティリティを作成しました。
これは、1つの副作用を除いて、うまく機能します。新しく保存された.configファイルは、元のXMLコメントをすべて失いますが、AppSettings領域内でのみ失われます。元の構成ファイルのAppSettings領域からXMLコメントを保持することは可能ですか?
c# - C# 読み取り構成設定
App.configにいくつかの構成設定があるC#クラスライブラリAがあります
しかし、ASP Web プロジェクト B からメソッド 1() を呼び出すと、クラス ライブラリ A の構成設定が見つかりません。
ここで何が起こっているのか分かりますか?
nhibernate - アプリケーション設定を NHibernate.Cfg.Configuration オブジェクトにロードする方法は?
App.configからNHibernate.Cfg.Configuration
使用してアプリケーション設定をオブジェクトにロードする方法は?System.Configuration.ConfigurationManager
c# - ConfigurationManager.OpenMappedExeConfigurationにファイルにない余分な接続文字列があるのはなぜですか?
Winフォームアプリケーションの構成ファイルを単体テストしています。LocalTestRun.testrunconfigで、app.configをコピーするように設定しました。テストの実行中に確認しましたがEnvironment.CurrentDirectory
、ファイルにはこの余分な接続文字列も含まれていません。これはテスト方法です:
ただし、反復するconfig.ConnectionStrings.ConnectionStrings
と、ファイルにない追加の構成文字列があります。
これは、asp.netプロジェクトではなく、決してありませんでした。
設定ファイルは次のとおりです。
この余分な接続文字列はどこから来ていますか?
c# - System.Web.Configuration.WebConfigurationManagerとSystem.Configuration.ConfigurationManagerの動作の違い
ASP.NETWebサイトを備えたテストサーバーで問題が発生しました。私は間抜けで、デフォルトのWebサイトのホームディレクトリが間違った場所を指していました。私が試したとき:
nullを返しましたが、
正しい接続文字列を返しました。
2つのアプローチのすべての違いは何ですか?
編集:私が本当に求めているのは、ホームディレクトリが正しく設定されていない場合にConfigurationManager
アプローチが失敗するのに、そうでない場合はWebConfigurationManager
成功し、ホームディレクトリが正しく設定されているかどうかに関係なく成功するのはなぜですか?アクセス制御に関する仮定など、他に違いはありますか?
.net - 現在のアプリケーションの app.config/web.config にアクセスする方法は?
この質問の名前はこれとこれに似ていますが、そうではありません。
私は現在、ユーザーの要望に応じてカスタム構成が必要なライブラリを開発しています。
カスタム構成セクションを作成しましたが、すべて正常に動作します。
ただし、デバッグ中に、構成セクションのコンストラクターが 2 回呼び出されていることに気付きました。そして、それは私が意図したものではありません。
さらに掘り下げてみると、ライブラリから構成情報にアクセスするために、次の方法を使用するために発生したことがわかりました。
MyConfigSection
これより前に、.NET Framework は、ライブラリを実行するアプリケーションの構成環境を初期化し、クラスのコンストラクターを呼び出していました。
私の質問は、既に読み込まれた情報にアクセスする方法ですか?
クラスのコンストラクターが 2 回呼び出される理由
上記のコードのように、すべてを再度リロードしたくないためです。
編集して追加
上記のコードを次のように変更しても、コンストラクターは 2 回呼び出されます。
明確にするために編集
この質問は へMyConfigSection
のアクセスに関するものではありません。問題なくアクセスできます。
問題は、クラスのコンストラクターが 2 回呼び出される理由です。
もう少し明確にする
クラスのコンストラクターが 2 回呼び出されている場合は、読み込みプロセスが 2 回発生しています。
そして、私は単にこれが起こることを望んでいません。バカバカしい。
Configurationmanager
はい、この質問の最初の編集に従って、の静的メソッドを呼び出しています。
.net - 接続文字列の構成マネージャーのキャッシュをクリアする方法
実行時にサービスホストの App.Config にある接続文字列のデータベース名を変更し、その後別のデータベースに接続して再起動しようとしています。これは正常に機能しますが、アプリケーションが数秒間シャットダウンされた場合に限ります。アプリケーションを数秒間シャットダウンすると、ConfigurationManager.Connectionstrings のキャッシュがクリアされるようです。問題は、この必要なシャットダウン時間が原因で、アプリケーションで Application.Restart() を使用できないことです。
このキャッシング動作の奇妙な点は、値がメモリ内で更新された場合でも (この例では 2 回目に要求された場合)、更新された値が正しく表示されることです。しかし、アプリケーションを再起動すると、古い値が再び現れるようです。
動作を確認するには、新しいコンソール アプリを作成します。
App.Config ファイルを追加する
次に、次のコードを Main メソッドに追加します
この動作を再現するには、(F5 キーを押して) アプリケーションを実行し、閉じる必要があります。その後、solutionname.exe.config ファイルが変更された値で表示されます。アプリケーションを 2 度目に実行すると (今回は solutionname.exe をダブルクリックします)、アプリケーションを終了した直後に実行するか、数秒待ってから実行すると、動作の違いに気付くでしょう。
私の意見では、ConfigurationManager.RefreshSection("connectionStrings"); のため、configsection を再読み込みする必要があります。しかし、明らかにこれは宣伝どおりには機能しません。
visual-studio - NUnit と app.config の問題
DB チェックへの接続で簡単なテストを実行すると、NUnit でエラーが発生します。
System.NullReferenceException : オブジェクト参照がオブジェクトのインスタンスに設定されていません。
オンライン:
テストで ConfigurationManager を使用できますか?