Я создал простую. 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 и вызывающего приложения, чтобы попытаться удовлетворить требования конфигурации, указанные в ошибке, но мне не повезло.
Если у кого-либо есть какие-либо рекомендации для меня о том, как решить эту проблему, я был бы очень признателен.