.Net Coreでapp.configを使用する
質問
問題があります。.Net Core(C#)でapp.configを利用した以下のようなプログラムを作成する必要があります。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="custom" type="ConfigurationSample.CustomConfigurationSection, ConfigurationSample"/>
</configSections>
<connectionStrings>
<add name="sampleDatabase" connectionString="Data Source=localhost\SQLExpress;Initial Catalog=SampleDatabase;Integrated Security=True"/>
</connectionStrings>
<appSettings>
<add key="sampleApplication" value="Configuration Sample"/>
</appSettings>
<custom>
<customConfigurations>
<add key="customSample" name="Mickey Mouse" age="83"/>
</customConfigurations>
</custom>
</configuration>
と書きます。
string connectionString = ConfigurationManager.ConnectionStrings["sampleDatabase"].ConnectionString;
Console.WriteLine(connectionString);
// read appSettings configuration
string appSettingValue = ConfigurationManager.AppSettings["sampleApplication"];
Console.WriteLine(appSettingValue);
で、これはインターネットからの例なので、うまくいくと思ったのですが、例外が発生しています。
System.Configuration.ConfigurationErrorsException: 'Error Initializing the configuration system.'
Inner Exception
TypeLoadException: Could not load type 'System.Configuration.InternalConfigurationHost' from assembly 'CoreCompat.System.Configuration, Version=4.2.3.0, Culture=neutral, PublicKeyToken=null' because the method 'get_bundled_machine_config' has no implementation (no RVA).
私はNuGet - Install-Package CoreCompat.System.Configuration -Version 4.2.3-r4 -Pre経由でダウンロードしましたが、まだうまくいきません。多分、誰かが私を助けることができますか?
どのように解決するのですか?
-
あなたは Microsoft.Extensions.ConfigurationのAPI で のいずれかを指定します。 ASP.NET Coreアプリだけでなく、.NET Coreアプリでも使用できます。 リンク先のサンプルでは、コンソールアプリで設定を読み込む方法が紹介されているので見てみてください。
-
ほとんどの場合、JSONソース(読み方は
.json
ファイル) が最も適切な設定ソースです。注意: 誰かが、コンフィグファイルは
appsettings.json
. ファイル名や保存場所は特に決まりはありません。しかし、現実の世界は複雑なので、さまざまな設定プロバイダが存在します。
- ファイル形式 (INI、JSON、XML)
- コマンドライン引数
- 環境変数
といった具合です。カスタムプロバイダを使う/書くこともできます。
-
実は
app.config
の設定ファイルは XML ファイルでした。そのため、XML 設定プロバイダ ( ソースはgithubにあります。 , ナゲットリンク ). しかし、これは設定ソースとしてのみ使用されることに留意してください。あなたのアプリがどのように動作するかのロジックは、あなたによって実装されるべきものです。コンフィギュレーション・プロバイダは、アプリの「設定」を変更したり、ポリシーを設定したりはしませんが、ファイルからデータを読み取ることだけは行います。
関連
-
[解決済み】指定されたキャストが有効でない?
-
[解決済み】パディングが無効で、削除できない?
-
[解決済み】プロセスが実行されているかどうかを知るには?
-
[解決済み】ユーザー設定値を別のユーザー設定値で設定する
-
[解決済み] usingディレクティブはネームスペースの内側と外側のどちらを使うべきですか?
-
[解決済み] .NET Coreと.NET Standard Class Libraryのプロジェクトタイプの違いは何ですか?
-
[解決済み] .NETでapp.configやweb.configから設定を読み込む
-
[解決済み] EXEを出力する.NET Coreコンソールアプリケーションを構築する
-
[解決済み] .NET Core、.NET Framework、Xamarinの違いとは?
-
[解決済み】.NET Coreがインストールされているかどうかを判断する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Ajax処理で「無効なJSONプリミティブ」と表示される件
-
[解決済み] 保護レベルによりアクセス不能になりました。
-
[解決済み] 'SubSonic.Schema .DatabaseColumn' 型のオブジェクトをシリアライズする際に、循環参照が検出されました。
-
[解決済み】C# ASP.NET使用時に「WebClientのリクエスト中に例外が発生しました。
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み】"指定されたパスのフォーマットはサポートされていません。"
-
[解決済み】ファイルやアセンブリ、またはその依存関係の1つをロードできませんでした。
-
[解決済み】Microsoft.Extensions.LoggingからILoggerを解決することができない
-
[解決済み】WebResource.axdとは何ですか?
-
[解決済み] .NET Core 2.0アプリでハードコードされた接続文字列の代わりにappsettings.jsonから接続文字列を取得する。