Обновлен ServiceStack.OrmLite.SqlServer.Получаем ошибку об System.Text.Encoding.CodePages сейчас - PullRequest
0 голосов
/ 28 февраля 2019

Я унаследовал проект, который был изначально написан на .NetCore 2.0.Версия ServiceStack.OrmLite.SqlServer.Core, которую мы использовали, была 1.0.43.Я обновил все в NuGet, поэтому ServiceStack теперь 5.4.0.

Проблема теперь в том, что когда я пытаюсь запустить свой код:

var dbFactory = new OrmLiteConnectionFactory(dbConnection.ConnectionString, SqlServerDialect.Provider);
using (var db = dbFactory.Open())

Я получаю ошибку

System.TypeInitializationException: The type initializer for 'System.Data.SqlClient.TdsParser' threw an exception. ---> System.IO.FileLoadException: Could not load file or assembly 'System.Text.Encoding.CodePages, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Я вижу в детализации зависимости, на которые ServiceStack ссылается на версию 4.5 кодовых страниц.

Я не уверен, что мне нужно сделать, чтобы это исправить ...

1 Ответ

0 голосов
/ 28 февраля 2019

Если это проект .NET Core, то он не должен использовать какие-либо *.Core пакеты, которые после v5 предназначены только для запуска ASP.NET Core Apps на .NET Framework .

Начиная с версии v5, основные пакеты, например: ServiceStack.OrmLite.SqlServer содержат сборки как .NET Standard 2.0, так и .NET 4.5 Framework.

Учитывая, что они ссылаются на неправильные пакеты, я быудалите все пакеты ServiceStack и установите только пакеты non .Core ServiceStack.

...