An unhandled exception was thrown. Could not load file or assembly Newtonsoft.Json Version=12.0.0.0 on Azure AppService with .NetCore 3.1

0

This is an web application which is build on .net core 3.1. The .Net solution has 4 projects in it and each project's target framework is .net core 3.1. The start up project is a combination of MVC and Web API. for example in the action methods of EventController.cs, will call Web API EventAPIontroller using http client. In local everything works fine with Visual studio 2019 but on azure app service it fails only when we try to access swagger or any page where the API calls are made using http client. It always fails with the below error:

An unhandled exception was thrown by the application.

2020-06-10T17:14:20.675781424Z: [INFO] System.IO.FileLoadException: Could not load file or assembly 'Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'. The located assembly's manifest definition does not match the assembly reference. (0x80131040) 2020-06-10T17:14:20.675794424Z: [INFO] File name: 'Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' 2020-06-10T17:14:20.675799325Z: [INFO] at BEMS.Controllers.EventController.Events() 2020-06-10T17:14:20.675803025Z: [INFO] at lambda_method(Closure , Object , Object[] ) 2020-06-10T17:14:20.675806725Z: [INFO] at Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute(Object target, Object[] parameters) 2020-06-10T17:14:20.675810625Z: [INFO]*


BEMS.csproj file :

   <Project Sdk="Microsoft.NET.Sdk.Web">

    <PropertyGroup>
        <TargetFramework>netcoreapp3.1</TargetFramework>
    </PropertyGroup>

    <PropertyGroup>
        <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
        <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
    </PropertyGroup>

    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
        <DocumentationFile></DocumentationFile>
    </PropertyGroup>

    <ItemGroup>
      <Compile Remove="Controllers\EventsController.cs" />
      <Compile Remove="Helpers\PropertyIgnoreHelper.cs" />
      <Compile Remove="ViewModel\Events.cs" />
    </ItemGroup>

    <ItemGroup>
      <Content Remove="Views\Event\EventDetails.cshtml" />
    </ItemGroup>

    <ItemGroup>
        <PackageReference Include="Microsoft.AspNet.WebApi.Client" Version="5.2.7" />
        <PackageReference Include="Microsoft.AspNetCore.Authorization" Version="3.1.3" />
        <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.3" />
        <PackageReference Include="Microsoft.Azure.KeyVault" Version="3.0.5" />
        <PackageReference Include="Microsoft.Azure.Services.AppAuthentication" Version="1.5.0" />
        <PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="3.0.0">
          <PrivateAssets>all</PrivateAssets>
          <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
        </PackageReference>
        <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Core" Version="3.1.3" />
        <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.3" />
        <PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
        <PackageReference Include="Swashbuckle.AspNetCore" Version="5.0.0" />
        <PackageReference Include="System.Runtime.Caching" Version="4.7.0" />
    </ItemGroup>

    <ItemGroup>
        <ProjectReference Include="..\BEMS.AzureDataLayer\BEMS.AzureDataLayer.csproj" />
        <ProjectReference Include="..\BEMS.Services\BEMS.Services.csproj" />
        <ProjectReference Include="..\BEMS.Models\BEMS.Models.csproj" />
    </ItemGroup>

    <ItemGroup>
      <Folder Include="Views\Admin\" />
    </ItemGroup>
</Project>

BEMS.Services.csproj :

  <Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

  <PropertyGroup>
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.CookiePolicy" Version="2.2.8" />
    <PackageReference Include="Microsoft.Azure.KeyVault" Version="3.0.5" />
    <PackageReference Include="Microsoft.Azure.ServiceBus" Version="4.1.3" />
    <PackageReference Include="Microsoft.Azure.Services.AppAuthentication" Version="1.5.0" />
    <PackageReference Include="System.Runtime.Caching" Version="4.7.0" />
    <PackageReference Include="WindowsAzure.Storage" Version="9.3.3" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\BEMS.DataLayer\BEMS.DataLayer.csproj" />
    <ProjectReference Include="..\BEMS.Models\BEMS.Models.csproj" />
  </ItemGroup>

</Project>

BEMS.Modals.csproj:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

  <PropertyGroup>
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
  </PropertyGroup>

  <ItemGroup>
    <Compile Remove="ViewModel\**" />
    <EmbeddedResource Remove="ViewModel\**" />
    <None Remove="ViewModel\**" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="EntityFramework" Version="6.4.4" />
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.3" />

    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.3" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.3">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.Extensions.Identity.Core" Version="3.1.3" />
    <PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
    <PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="5.4.1" />
  </ItemGroup>

</Project>

BEMS.DataLayer.csproj

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

  <PropertyGroup>
        <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
        <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="System.Data.SqlClient" Version="4.8.1" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\TEMS.Models\TEMS.Models.csproj" />
  </ItemGroup>

</Project>

This is the error I can see in azure app service log stream whenever I try to access Web API :

c#
azure
json.net
azure-web-app-service
asp.net-core-3.1
asked on Stack Overflow Jun 10, 2020 by Amit Ranjan

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0