Если у вас есть проект, содержащий пакеты NuGet для Oracle и SQL Server, это решение может помочь вам исправить эту ошибку.
Удалите оба пакета NuGet:
- Oracle.ManagedDataAccess.Core
- System.Data.SqlClient
Откройте ваш app.config и проверьте, есть ли в списке все еще зависимые записи сборки. Если вы это сделаете, удалите эти записи сейчас. Они могут выглядеть примерно так:
<dependentAssembly>
<assemblyIdentity name="Oracle.ManagedDataAccess" publicKeyToken="89b483f429c47342" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.19.1" newVersion="2.0.19.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Data.SqlClient" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.5.0.1" newVersion="4.5.0.1" />
</dependentAssembly>
Пока он находится в файле app.config, удалите весь раздел Oracle Managed Data Access, если он существует (Это может быть единственное, что вам нужно сделать, чтобы решить эту проблему, однако мы выполнили все шаги, перечисленные в этом решении) . Если он у вас есть, он может выглядеть примерно так:
<oracle.manageddataaccess.client>
<version number="*">
<settings>
<!-- your TNS_ADMIN value would be located here -->
</settings>
<dataSources>
<dataSource alias="SampleDataSource" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL))) " />
</dataSources>
</version>
</oracle.manageddataaccess.client>
Откройте файл packages.config и дважды проверьте, чтобы убедиться, что записи для пакетов Oracle и SQL Server по-прежнему отсутствуют в списке - их следует удалить, но это не помешает быть на 100% уверенным.
Сохраните ваш проект, а затем повторно добавьте пакеты NuGet.