Использование EntityFrameworkCore 3 в. NET Core Class Library с включенным хостингом COM выдает ошибку конфигурации - PullRequest
0 голосов
/ 24 апреля 2020

Я создал простую. NET Базовую библиотеку классов и открыл класс для COM, используя следующую статью: https://docs.microsoft.com/en-us/dotnet/core/native-interop/expose-components-to-com

Библиотека классов использует EntityFrameworkCore 3 для поиска значения в SQL серверной базе данных и возвращают массив строк.

Когда я пытаюсь вызвать метод, который выполняет поиск в базе данных внутри. NET Core dll из приложения Win32, использующего COM, вызывающая программа вызывает следующую ошибку:

Run-time error '-2146233088 (80131500)':

System.TypeInitializationException: The type initializer for 'Microsoft.Data.SqlClient.SqlConnection' threw an exception.

 ---> System.InvalidOperationException: Failed to read the configuration section for enclave providers. Make sure the section is correctly formatted in your application configuration file. Error Message: Configuration system failed to initialize

 ---> System.Configuration.ConfigurationErrorsException: Configuration system failed to initialize

 ---> System.PlatformNotSupportedException: Operation is not supported on this platform.

   at System.Configuration.ClientConfigPaths..ctor(String exePath, Boolean includeUserConfig)

   at System.Configuration.ClientConfigPaths.GetPaths(String exePath, Boolean includeUserConfig)

   at System.Configuration.ClientConfigurationHost.get_ConfigPaths()

   at System.Configuration.ClientConfigurationHost.GetStreamName(String configPath)

   at System.Configuration.ClientConfigurationHost.get_IsAppConfigHttp()

Эта ошибка не возникает, если я понижаю EntityFrameworkCore до 2.x. Я попытался создать файлы конфигурации для. NET Core dll и вызывающего приложения, чтобы попытаться удовлетворить требования конфигурации, указанные в ошибке, но мне не повезло.

Если у кого-либо есть какие-либо рекомендации для меня о том, как решить эту проблему, я был бы очень признателен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...