it-roy-ru.com

Не удалось загрузить файл или сборку System.Data.SqlClient, версия = 4.2.0.2, когда я использую System.Data.SqlClient версии 4.4.3.

Я использую System.Data.SqlClient версии 4.4.3 для всех библиотек классов .NET Standard 2.0 в моем проекте ASP.NET Core 2.0. Почему я получаю 

Не удалось загрузить файл или сборку 'System.Data.SqlClient, версия = 4.2.0.2, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a'. Определение манифеста расположенной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040) 

когда проект публикуется с VSTS в службе приложений Azure? И конечно это прекрасно работает на моей машине!

Все это сработало вчера. Но сегодня я решил обновить пакеты до:

<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.6" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.3" />
6
alvipeo

Понижен до 

<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.6" />

и все снова работает! Потерял 4 часа сегодня !!!

2
alvipeo

Не знаю, является ли это той же ситуацией, с которой я столкнулся . Я добавил System.Data.SqlClient через nuGet, и он работал нормально.

7
Watz

У меня была похожая проблема с этим сегодня, я обновил ряд пакетов, включая метапакет All, до версии 2.0.6. Мое приложение тогда не сработает, цитируя ошибку выше. После долгих исследований я сделал следующее, и теперь, похоже, это работает.

Подключитесь к веб-сайту Azure с помощью FTP, перейдите в папку сайта -> wwwroot. Здесь у меня была папка «refs», а другая - «runtime». Я удалил обе эти папки (после создания локальной резервной копии), повторно опубликовал свое приложение, и оно заработало!

Не уверен, почему это сработало, но я подумал, что это может быть полезно, если кто-то сталкивается с подобной проблемой.

0
Adam Stapleton

Это происходит, когда некоторая зависимая сборка использует старую версию той же библиотеки . Чтобы решить эту проблему, вы можете использовать перенаправление сборки , чтобы заставить старую библиотеку использовать более новую версию.

поместите это в ваш app.config или в web.config в случае asp.net

<dependentAssembly>  
    <assemblyIdentity name="System.Data.SqlClient"  publicKeyToken="b03f5f7f11d50a3a"  culture="neutral" />  
    <bindingRedirect oldVersion="4.2.0.2" newVersion="4.4.3.0" />  
</dependentAssembly>  
0
Davit Tvildiani

Для меня решение было удалить пакет System.Data.SqlClient и установить его снова. Выполнение обновления пакета было недостаточно.

0
IronRod