問題タブ [system.configuration]
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# - .NET4 のコレクションを使用したシンプルなカスタム構成セクション
.NET4 アプリケーション用の非常に単純なカスタム構成セクションを作成しようとしています。私の目標はこれです:
ただし、ConfigurationErrorsException
を呼び出すと、「認識されない要素 '追加'' が表示され続けますConfigurationManager.GetSection("myServices")
。私はしばらくそれを見つめてきましたが、何が間違っているのかまだわかりません。以下は私のコードです。ConfigSection
、MyServiceSettingsCollection
およびの 3 つのクラスですMyServiceSettings
。
まず、構成セクション全体を表すクラス。タイプ の無名のデフォルト コレクションがありますMyServiceSettingsCollection
。プロパティを使用IsDefaultCollection
すると、ルート要素からコレクションに直接「追加」できるはずです。
次に、コレクション クラス自体です。タイプAddRemoveClearMap
です。
最後に、コレクション内の要素のクラスです。今のところ、このクラスには 1 つのプロパティがありますが、後でさらに追加する予定です (これにより、 を使用できなくなりますNameValueSectionHandler
)。
visual-studio-2010 - プロジェクトをvs2005からvs2010に移行した後、UnitTestでタイプを解決できません(MSTest)
アプリケーションをVS2005からVS2010に移行する場合、実際に何をしなければならないかを分析しています。
私がしたこと:
私はVS2010ですべてのソリューションを開き、プロジェクトに対して変換させました。
現時点では、本番アセンブリは.NET Frameworkのアップグレードを取得していないため、フレームワーク2をターゲットにする必要があります。
単体テストアセンブリのフレームワークバージョン( MSTest)は、VS2010によって自動的にバージョン4に切り替えられますが、これまでのところ問題ありません。
問題:
一部の単体テストは、ConfigurationMananger.OpenExeConfiguration(ConfigurationUserLevel.None)
呼び出しを通じて構成ファイルにアクセスできないために失敗します。
次の例外がスローされます。
System.Configuration.ConfigurationErrorsException:構成ファイルのロード中にエラーが発生しました:メンバーXのタイプが解決されていません... System.Runtime.Serialization.SerializationException:メンバーXのタイプが解決されていません
メンバーXはから派生しGenericIdentity
、としてマークされ[Serializable]
ます。必要なすべてのファイル(構成、アセンブリ)は最新であり、出力フォルダーに正しく展開されます。
本番アセンブリのフレームワークバージョンをバージョン4に切り替えようとしましたが、役に立ちませんでした。
私はこのリソースを見つけましたが、彼らは私を助けませんでした。 スタックからの投稿
誰かが私が説明された振る舞いをする理由を知っていますか?
service - Windows サービスで system.configuration.settingspropertynotfoundexception エラーが発生します
ファイルが存在しない場合は、SettingsProvider を使用して構成設定を読み取り、デフォルト値を設定する Windows アプリがあります。
正常に動作していて問題ありません。
このアプリを起動する Windows サービスを作成しようとしています。サービスによって実行されると、System.Configuration.SettingsPropertyNotFoundException
すべての設定属性が取得されます。
サービスがアプリを実行しているときに、この例外を解決するにはどうすればよいですか?
c# - app.config ファイルで値の構文エラーを検出するにはどうすればよいですか?
app.config ファイルのエラーのレポートを改善する必要があります。
タイプ「int」の設定を含む小さなテストアプリがあります。app.config の値を有効な整数ではない値に変更すると、キャッチして報告できる例外が発生することが予想されます。残念ながら、何かが例外を食べています。その動作を防ぎ、例外を伝播させる簡単な方法はありますか?
My Settings.Designer.cs ファイル (Visual Studio で生成):
私のC#テストアプリ:
私の App.config ファイルの関連部分 (値は有効な整数ではないことに注意してください):
System.Number.StringToNumber によって System.Format 例外がスローされていますが、何かがそれをキャッチして破棄しているため、catch ブロックに入ることがありません。Visual Studio デバッガーの出力で、「mscorlib.dll で 'System.FormatException' 型の最初の例外が発生しました」というメッセージが表示されましたが、例外がスローされたことをさらに確認する以外には役に立ちません。
Settings.Designer.cs の設定プロパティに IntegerValidatorAttribute を追加しようとしましたが、役に立ちませんでした (.cs が再生成されないことを確認しました)。
main() メソッドの先頭に次のコードを追加しようとしましたが、それも役に立ちませんでした。
独自の ConfigurationSection を実装することを考えましたが、もっと簡単な解決策があることを願っています。
繰り返しますが、app.config ファイルの設定値のエラーを報告する方法が必要です。
(たとえば、山かっこを削除して App.config の XML 構文を壊すと、catch ブロックは要求できるすべての詳細を含む適切な例外を取得します。)
.net - モノタッチ用 Log4Net
MonoTouch 用に Log4Net をビルドしようとしていますが、必要なアセンブリも System.Configuration を含む MonoTouch 用にビルドする必要があり、このソースがありません。
MonoTouch 用の Log4Net を構築した人はいますか?
vb.net - DefaultSection として返される SingleTagSectionHandler
以下を含む App.conf ファイルがあります。
ご覧のとおり、CrystalReport セクションは configSections で定義されています。しかし、私がそうするとき: config.GetSection("CrystalReport") は、SingleTagSectionHandler の代わりに DefaultSection オブジェクトを返します。
ConfigurationManager を使用して CrystalReport タグから Database 属性を取得するにはどうすればよいですか?
ご挨拶
c# - .NET ConfigurationManagerを使用して、app.configファイルの代わりに文字列から設定を読み取ります
データセンター内のさまざまなマシンで、サービスの複数のインスタンス(.exeファイルとして実装)を実行しています。ただし、この.exeファイルの構成パラメーターを(マシンごとの.exe.configにあるのではなく)中央の場所に保存したいと思います。
これを行うには、.exe.configファイルのコンテンツを中央リポジトリ(Active DirectoryまたはSQL)の属性に移動し、このリポジトリから読み取られたすべてのマシンで.exeを実行することを計画しています。
構成情報の読み取り/書き込みに使用される既存のクラスをすべて再利用したい(ConfigurationManager、ConfigurationPropertyなどを使用、基本的に.NET構成フレームワーク全体を使用)-ただし、.exe.configファイルからロードする代わりに(デフォルト-中央リポジトリから取得するXMLBLOBの文字列値からロードする必要があります。
ConfigurationManager APIを使用してそれを行う方法を見つけようとしましたが、文字列から構成セクションをロードできるものが見つかりませんでした。ポインタはありますか?
c# - ConfigurationPropertyAttributeを使用してプロパティ名を3回繰り返さないでください
コード内で名前を3回繰り返すと、ConfigurationPropertyAttribute
本当に気になります。
スペルミスを見逃したり、プロパティをコピーして貼り付けたりして、名前の1つのインスタンスを更新するのを忘れるのは簡単です。
定数を宣言すると、これらの問題の1つだけが解決されます。もっと良い方法はありますか?
リフレクションを試しましたが、属性を列挙するのはもっと面倒で醜いようでした。
DRYは単なる原則であり、現実の世界では、原則が実用主義に取って代わらなければならないことがよくあります。しかし、誰かがよりクリーンな方法を持っていると確信していますか?
.net - コレクションのコレクションを含む構成セクションを作成するにはどうすればよいですか?
次のような構成セクションが必要です。
IConfigurationSectionHandler
古いインターフェースを使用せずにこれを可能にする魔法をまだ見つけていません。誰かがそれを行う方法を知っていますか?
myConfig
とmySubConfign
がConfigurationSectionGroup
あれば大丈夫ですConfigurationSection
。
また、重要な場合は、web.configから使用されます。
c# - C# - アプリケーション固有のプロジェクト ファイルの作成と管理
私が開発しているアプリケーションの仕様の 1 つは、プロジェクト ファイルで動作する必要があるということです。私の問題は、この要件をどのように満たすかということです。なぜなら、私は Prism と Unity を使用してアプリケーションをできるだけルーズにすることに取り組んでいるため、プロジェクトにどの実装を使用するかを決めることができないからです。ファイルの作成と管理 (プロジェクト ファイルの読み込み、保存など)。
このアプリケーションは SEO ヘルパーになり、インターネットから取得する Uri や文字列などのテキスト情報を主に処理します。
以下を使用して、いくつかの可能な実装を考えました。
a - フレームワークの System.Configuration 名前空間。新しい ConfigurationSection を Configuration オブジェクトに簡単にプラグインできるので、これが最初のオプションでした。欠点は、抽象化のためにインターフェイスを使用する機会がなくなることです (または、少なくともその方法を理解できませんでした)。
b - プロジェクトごとにデータベースを作成し、ファイルに保存します。この実装では、オブジェクトからデータベースへのマッピングを処理するために、nHibernate などのデータベース フレームワーク (提案を受け付けています) を使用できます。
c - ここに独自のものを追加します。
私の質問は、プラグインするすべてのモジュールのさまざまな構成/設定を処理し、URL の大きなリスト、約 10k ~ 100k の URL のリストを他の設定と同じくらい長く保持するためのより良いアプローチは何だと思いますか?
前もって感謝します!