Метод не найден: 'Newtonsoft.формат JSON.JsonSerializerSettings Microsoft.сеть САШ.В MVC.MvcJsonOptions.получить SerializerSettings ()'

локально мой проект работает нормально, но при развертывании в Azure с помощью веб-приложения я получаю следующую ошибку при запуске:

MissingMethodException: метод не найден: 'Newtonsoft.формат JSON.JsonSerializerSettings Microsoft.сеть САШ.В MVC.Форматеры.JsonOutputFormatter.get_SerializerSettings()'. SmartAdmin.Запуск.гр.Б__13_7(варианты MvcOptions)

Я попытался это:

services.AddMvc(options =>
        {
                options.Filters.Add(new UserPreferencesLoaderAtrribute());
                var jsonFormatter = (JsonOutputFormatter)options.OutputFormatters.FirstOrDefault(f => f is JsonOutputFormatter);
                if (jsonFormatter != null)
                {
                jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
            }
        });

и так:

services.AddMvc(options =>
        {
            options.Filters.Add(new UserPreferencesLoaderAtrribute());

        }).AddJsonOptions(options =>
        {
            options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
        });

3 ответов


Да, я просто работал всю ночь и в конце концов понял это. Вот что вам нужно сделать:

убедитесь, что вы установите: -Microsoft.сеть САШ.В MVC.Форматеры.Версия Json " 6.0.0-rc1-final" и - Вернуть Netonsoft.Json на "6.0.6".

тогда вы можете сохранить это:

services.AddMvc().AddJsonOptions(options =>
    {
        options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
    });
.в JSON:

" Microsoft.сеть САШ.В MVC.Форматеры.Json": "6.0.0-rc1-финал", "Newtonsoft.Json": "6.0.6"

У меня была куча проблем с перераспределением но в конце концов это сработало.

удачи!


только что получил вызов с поддержкой Microsoft по состоянию на вчера (02 Aug 2016) службы приложений Azure теперь поддерживают только ASP.NET ядро, из-за разрывного изменения:

было выпущено разрывное изменение и все, что угодно, кроме ASP.NET core не поддерживается, поэтому единственным вариантом является обновление. Разрывное изменение развертывается во все (регионы), в конечном итоге все ваши экземпляры потерпят неудачу.

Is ASP.NET 5, Core RC1, RC2 поддерживается в Службе приложений Azure? Нет!--1-->

https://blogs.msdn.microsoft.com/waws/2016/06/14/supporting-asp-net-5-core-rc1-on-azure-app-service/

убедитесь, что ваше приложение работает с последней версией ASP.NET ядро, а не RC1 или RC2.

мы были затронуты (Северная Европа) и обновили наше приложение от RC2, и он работал в первый раз.


мы также видели это в производстве, связались с командой и получили это:https://social.msdn.microsoft.com/Forums/en-US/f0a6bbaf-498a-4c1f-b869-6779ee18e04e/app-service-applications-may-experience-methodnotfound-exceptions-due-to-incorrect-newtonsoft-json?forum=windowsazurewebsitespreview

похоже, что исправление для службы приложений также находится в пути. Между тем, связанный пост содержит в значительной степени те же инструкции, что и другие ответы здесь.