У меня есть проект ASPNET Core, который запускает набор служб RESTful с использованием C # и Newtonsoft.JSON 11.0.2, которые я включил с помощью NuGet. Когда я запускаю все локально, используя Visual Studio 2017 и IIS Express, все работает нормально, и мои усилия по JSON Deserializer работают без проблем.
Когда я публикую решение в пакете Web Deploy, а затем установил это приложение в IIS 10 на экземпляр Windows Server 2016 в AWS, произойдет сбой десериализатора. Ошибка:
Newtonsoft.Json.JsonReaderException: неожиданный символ, обнаруженный при разборе значения: <. Путь '', строка 0, позиция 0 </p>
Неважно, публикую ли я в режиме отладки или выпуска.
Я запустил вызовы Postman, и возвращаемый JSON проверяет и выдает правильные объекты. Я видел, что в Solution Explorer версия 11.0.2, но в файле JSON ресурсов указана версия 10.0.1. Файл проекта .CS при просмотре в текстовом редакторе вне Visual Studio показывает 11.0.2.
Когда я смотрю в папку развернутого приложения на сервере, я не вижу никаких DLL-библиотек NewtonSoft, но вижу другие DLL-библиотеки, полученные с помощью NuGet. Возможно, это не проблема, учитывая, как развертывается JSON.NET, но я подумал, что стоит упомянуть.
Затем я включил регистратор и отправил входящий JSON в файл, и снова все было подтверждено, как и ожидалось.
Я перепробовал все, убедившись, что CORS правильно реализован как в приложении, так и в IIS. Я в полной растерянности относительно того, как действовать.
Может кто-нибудь помочь, пожалуйста?
Спасибо!