SqlConnection примерна изключение .NET 4.6 и по-късно след август-септември 2018 актуализации на .NET Framework

Симптоми

След инсталиране на Август визуализация на качеството сборни или актуализиране на 11 септември 2018, .NET Framework, примерна на SqlConnection може да хвърли изключение.

Използване на SqlConnection конструктор може да доведе до информация за стека, подобно на следното:

System.Runtime.Serialization.SerializationException    в System.AppDomain.get_Evidence()    в System.AppDomain.get_Evidence()    в System.Configuration.ClientConfigPaths.GetEvidenceInfo (AppDomain appDomain, низ exePath, низ и typeName)    в System.Configuration.ClientConfigPaths.GetTypeAndHashSuffix (AppDomain appDomain, низ exePath)    в System.Configuration.ClientConfigPaths... "заплаха" означавапотенциалнапричина (низ exePath, Boolean includeUserConfig)    в System.Configuration.ClientConfigPaths.GetPaths (низ exePath, Boolean includeUserConfig)    в System.Configuration.ClientConfigurationHost.RequireCompleteInit (IInternalConfigRecord запис)    в System.Configuration.BaseConfigurationRecord.GetSectionRecursive (низ configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere обект и резултат, обект и resultRuntimeObject)    в System.Configuration.BaseConfigurationRecord.GetSection (низ configKey)    в System.Configuration.ConfigurationManager.GetSection (низ име на раздел)    в System.Data.SqlClient.SqlConnection... cctor()

Заобиколно решение

Решение 1

Добавете следните редове в configSection на App.Config файл на приложението:

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

Забележка Ако приложението не включва app.config файл, препоръчваме ви да създадете и разположите app.config файл, съдържащ тази информация в configSection.

Ако метод 1 не работи, опитайте решение 2.

Решение 2

Определяне на място в приложение домейн, който се изпълнява преди обекти са добавени към логически разговор контекст. Добавяне на код, за да накарате ConfigurationManager да се опита да зареди секция, която не съществува във всички конфигурационни файлове. Например:

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

За повече информация относно този проблем вижте статията на GitHub събития: десиарализацията обекти в приложението области.

Статус

Microsoft проучва този проблем и ще предостави актуализация в предстоящата версия.

Нуждаете се от още помощ?

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към Microsoft приобщени

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×