SqlConnection インスタンス化例外が .NET 4.6 上および 2018 年 8 月-9 月の後に.NET Framework の更新します。

適用対象: .NET Framework 4.6.NET Framework 4.6.1.NET Framework 4.6.2

現象


8 月プレビューの品質ロールアップまたは2018 年 9 月 11日.NET Framework の更新をインストールした後、SqlConnection のインスタンス化は例外をスローできます。

SqlConnection のコンス トラクターの使用は、次のようなスタック トレースにつながります。

回避策


回避策 1

アプリケーションの App.Config ファイルの configSection で次の行を追加します。

<section name="SqlColumnEncryptionEnclaveProviders"type="System.Data.SqlClient.SqlColumnEncryptionEnclaveProviderConfigurationSection,System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

メモアプリケーションには、app.config ファイルが含まれていないを作成し、configSection でこの情報を格納する app.config ファイルを配置することをお勧めします。

1 の回避策が機能しない場合は、回避策 2 をしてみてください。

回避策 2

論理呼び出しコンテキストに追加されたすべてのオブジェクトの前に実行したアプリケーション ドメイン内の場所を特定します。ConfigurationManager にすべての構成ファイルに存在しないセクションをロードしようとするを強制的にコードを追加します。次に例を示します。

System.Configuration.ConfigurationManager.GetSection("SectionNameThatDoesNotExistInAnyConfigurationFile");

この問題の詳細については、GitHub の資料を参照してくださいの軽減: アプリケーション ドメイン間でオブジェクトの逆シリアル化

状態


マイクロソフトでは、この問題を現在調査中で、今後のリリースに更新プログラムが提供されます。