У меня есть два проекта в одном решении, Проект 1 и Проект 2.
Проект 1. Целевой платформой является .NET Core 2.1. Это проект MVC с контроллерами и представлениями. Он имеет ссылку на Project 2. Пакеты Nuget включают в себя:
- Microsoft.AspNetCore.App
- Microsoft.NETCore.App
Проект 2. Целевой платформой является .NET Framework 4.6.1. Это библиотека классов, которая получает данные, используя NEST / ElasticSearch. У меня не хватает времени, поэтому я копирую этот проект из проекта .NET Framework 4.5.1, который работает просто отлично. Пакеты Nuget включают в себя:
Ошибка в проекте 2:
Я не уверен, почему я получаю эту ошибку, если я использую тот же код, что и в старом проекте 4.5.1. Единственное реальное отличие состоит в том, что он теперь в том же решении, что и проект .NET Core 2.1.
Вещи, которые я рассмотрел:
- Я попытался обновить старый проект с .NET Framework 4.5.1 до .NET
Рамочная 4.6.1. и он все еще работает нормально, так что я не думаю, что это связано с этим.
- Я догадываюсь, что в проекте ASP.NET Core используется Newtonsoft.Json 10/11, а в проекте .NET Framework 4.6.1 используется Newtonsoft.Json 7.0.1, и это как-то вызывает проблему. Но если это так, каково решение? Обновление Project 2 до Newtonsoft.Json 10/11 также требует, чтобы вы обновили NEST и ElasticSearch.Net, которые вносят массу серьезных изменений. В идеале мне не пришлось бы сильно трогать код в Project 2. Мне бы очень хотелось, чтобы это работало, но оставьте Project 1 в ASP.NET Core 2.1 и не иметь обоих проектов в старой .NET Framework.