問題タブ [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# - ConfigurationManager に複数のファイルからアプリケーション設定をロードさせるにはどうすればよいですか?
サードパーティ アプリケーションと相互運用するアプリケーションを作成しています。このアプリケーションは、DLL のメソッドを介して開発者に API を公開します。少し前に、このアプリのベンダーは独自の .NET コンポーネントをプログラムに統合し始めました。その際、コンポーネントは を使用しConfigurationManager
て実行時に設定を取得する必要があると判断しました。
これが意味すること: 彼らのプログラム はfoo.exe
を呼び出しfooengine.dll
、 から設定を読み取りますfoo.exe.config
。私のプログラムbar.exe
も を呼び出しfooengine.dll
、 から設定を読み取りますbar.exe.config
。
まあ、それは単純に間違っています。しかし、どうすれば修正できますか?
foo.exe.config
簡単な回避策は、の設定を に複製することbar.exe.config
です。それはうまくいきますが、それはばかげています。これは、管理上の観点から、特定の設定を N 個の異なるファイルで維持する必要があることを意味します。それは遅かれ早かれ失敗するでしょう。
構成ファイルconfigSource
のセクションに属性を入れてみました。appSettings
(たまたま、私はapplicationSettings
セクションを自分の設定に使用しており、彼らはappSettings
セクションを彼らの設定に使用しているので、別のファイルからそのセクションを取得するだけで十分です。ConfigurationManager
)のパスは、プログラムのディレクトリconfigSource
に対して相対的であるだけでなく、その下にもあります。
設定ファイルを物理的に読み取り、自分で設定できますXmlDocument
。しかし今、私は自分のコードをそれらの実装に密接に結び付けています。applicationSettings
彼らが設定をセクションに移動する新しいリリースを出すと(2009年になったので、今はそうあるべきです)、私のコードは壊れます。
これから抜け出す別の方法はありますか?
configuration - 構成マネージャーを介してAppSettingsからStringCollectionを取得する
私は次のようにアセンブリの構成にアクセスしています:
私の.configファイルには次のようなセクションが含まれています
.configファイルを編集すると、変更を含む接続文字列を正常に読み取ることができます。だから、私は正しいファイルに接続していることを知っています。しかし、appSettingsオブジェクト内にその文字列コレクションが見つかりません。.SettingsKeyValueConfigurationCollectionにはありません。文字列コレクションはどこにありますか?
c# - AppSettingsを変更すると、アプリケーションを再起動する必要があります。どうすれば回避できますか?
C#.NET2.0Windowsアプリケーションを使用しています。
アプリケーション設定にapp.configを使用しています。
ただし、AppSettingsの変更はランタイムを反映していないため、アプリケーションを再起動する必要があります。
どうすればそれを回避できますか。
これは、アプリケーション設定の読み取りと書き込みに使用したコードスニペットです。
私はこのような設定を読んでいます
ノードが現在の構成/appSettingsノードであるこのような値を更新しています
wpf - ConfigurationSectionへのバインド
すべての設定をAppSettingsからConfigurationSectionsに変換しました。それは間違いなく物事をきれいにしました、しかし私は設定ウィンドウで問題を抱えています。WPFウィンドウでバインディングを使用したい。
- 各ConfigurationSectionsを依存関係プロパティに格納し、ConfigurationSectionのプロパティにバインドする必要がありますか?
- ConfigurationManager.GetSectionを呼び出すObjectDataProviderを使用する必要がありますか?
- これを行う別の方法はありますか?
トピック外:WPFのバインディングは非常に強力であると思いますが、バインディングを作成するのが少し混乱したり、困難な場合があります。XAMLのより良いドキュメントがあればいいのにと思います。
.net - 特定のディレクトリからアセンブリのdll.configファイルをロードするようにNUnitにどのように指示しますか?
アセンブリにapp.configファイルが含まれている場合、ConfigurationManager
それがNUnit-Guiを介して実行されているNUnitプロジェクトと同じディレクトリにある限り、それをロードします。説明のために、次のフォルダ構造を検討してください。
AssemblyA
とを呼び出す両方のAssemblyB
コードを実行しますConfigurationManager
。これらのテストアセンブリをNUnit-Guiで個別に実行ConfigurationManager
すると、ローカル構成ファイルが正しく解決されます。
ただし、testProject.nunit
NUnit-Gui(との両方への参照を含む)にロードするAssemblyA
とAssemblyB
、現在実行中のアセンブリConfigurationManager
に関係なく、で構成ファイルを検索します。TestFolder
現在のアセンブリのディレクトリにあるものにアプリケーション構成を再ロードするようにNUnitに指示する方法はありますか?
内容は次のtestProject.nunit
とおりです。
visual-studio - Visual Studio: 構成マネージャーがありません
Microsoft Visual Studio Team System 2008 Team Suite を使用しています。
「構成マネージャー」メニュー項目がありません。構成マネージャーにキーボード ショートカットを割り当てましたが、何の効果もありません (実際には、「ドーン」という音がします)。
構成マネージャーをすべてのプロジェクトで機能させるにはどうすればよいですか?
c# - ConfigurationManager.AppSetting["settingname"].ToString() から逐語的な文字列を返す方法
メソッドを使用して、ConfigurationManager.AppSetting["blah"].ToString()
必要なファイルを含むフォルダーへのパスを取得しています。UnsupportedFormatException
しかし、 を使用しようとするとパスに を投げていますDirectory.GetFiles(path)
。
戻り値にはエスケープ文字が含まれており、余分な文字を返さないようにする方法がわかりません。返された後のパスは次のようになります。
\\\\\\\\C:\\\\folder1\\\\folder2
fitnesse - ConfigurationSettings.AppSettingsが空で、null例外をスローします
私はこのようなクラスを持っています:
私がこのようにそれを使おうとすると:
「System.Reflection.TargetInvocationException:呼び出しのターゲットによって例外がスローされました。---> System.NullReferenceException:オブジェクト参照がオブジェクトのインスタンスに設定されていません。」というエラーが表示されます。AppSettingsのAllKeysプロパティは、長さが1であると予想される、長さがゼロの配列です。
プロジェクト内のapp.configファイルは次のようになります。
ConfigurationSettings.AppSettingsは廃止されることになっているので、ConfigurationManager.AppSettingsを使用する必要がありますが、それをコンパイルすることすらできません。プロジェクトには、System.configuration(私のマシンではc:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ System.configuration.dll)への参照があり、コードの先頭にステートメントを使用しています。
Fitnesseを使用してコードをテストしていますが、エラーが発生します。app.configファイルのコピーも、実行したテストフィクスチャプロジェクトのBin>Debugフォルダーに配置する必要があることを理解しています。だから、なぜ私はまだこのエラーが発生しているのかわかりません。
助けてください。
.net - ConfigurationManagerへの参照を取得できません
VisualStudio2005でSystem.Configuration.ConfigurationManagerクラスを見つけることができません。コードは次のとおりです。
私は絶対に、プロジェクトにSystem.Configurationへの参照があり、それは間違いなく正しいプロジェクトにあります。DLLはバージョン2.0.0.0で、ランタイムバージョンは2.0.50727です。他のすべてとまったく同じです。参照を削除して再度追加してみました。奇妙なことに、プロジェクトの「参照」フォルダーに表示されると、「System.configuration」(小文字の「c」)として表示されます。
Visual Studioは、 System.Configuration.ConfigurationSettingsクラスを、廃止されたという警告以外の問題なく見つけることができます。プロジェクトはWebプロジェクトであり、コードはWebControlのコードビハインドにあります。
ここで何が起こっているのかアイデアはありますか?
c# - エラー: 名前 'ConfigurationManager' は現在のコンテキストに存在しません
Visual C# コンソール アプリケーション (Visual Studio 2005 .NET 2.0 Framework) に次のステートメントを含めました。
アプリケーションで次のステートメントを使用しています。
アプリケーションをビルドしようとすると、次のエラーが表示されます: The name 'ConfigurationManager' does not exist in the current context.
何か助けてください。