c# - .net-core-2.0 error de servicio de aplicación azul 502.5




azure asp.net-core-2.0 (2)

Obtención de un error 502.5 después de la implementación de CI en el servicio de aplicaciones azure.

Al ejecutar dotnet {myproject}.dll en la consola de depuración, este es el error que recibo:

Excepción no controlada: System.IO.FileLoadException: No se pudo cargar el archivo o el conjunto 'System.Diagnostics.DiagnosticSource, Version = 4.0.2.1, Culture = neutral, PublicKeyToken = cc7b13ffcd2ddd51'. La definición del manifiesto del ensamblaje ubicado no coincide con la referencia del ensamblaje. (Excepción de HRESULT: 0x80131040) en Microsoft.AspNetCore.Hosting.WebHostBuilder.BuildCommonServices (AggregateException & hostingStartupErraccesos) en los grupos de personas. D: \ home \ site \ repository \ My.IOEducation.Api \ Program.cs: línea 11

Ejecutando dotnet --version devuelve 2.0.0

¿Alguien más se encuentra con esto todavía y alguna sugerencia sobre cómo resolverlo?

ACTUALIZACIÓN: Aquí está el contenido del archivo del proyecto.

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <Folder Include="Models\Report\" />
    <Folder Include="wwwroot\" />
    <Folder Include="DataAccess\ExternalApis\" />
    <Folder Include="DataAccess\ExternalApis\Helpers\" />
    <Folder Include="Models\Dashboard\" />
    <Folder Include="Helpers\" />
    <Folder Include="DataAccess\Redis\" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.ResponseCompression" Version="2.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.0.0" />
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.0.0" />
    <PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
    <PackageReference Include="PowerBI.NetStandard.Api" Version="1.0.0" />
    <PackageReference Include="Swashbuckle.AspNetCore" Version="1.0.0" />
    <PackageReference Include="Swashbuckle.AspNetCore.SwaggerUi" Version="1.0.0" />
    <PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="1.0.0" />
    <PackageReference Include="Swashbuckle.AspNetCore.Swagger" Version="1.0.0" />
    <PackageReference Include="Dapper" Version="1.50.2" />
    <PackageReference Include="StackExchange.Redis" Version="1.2.6" />
    <PackageReference Include="Microsoft.AspNetCore" Version="2.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.0.0" />
  </ItemGroup>
  <ItemGroup>
    <None Remove="DataAccess\.DS_Store" />
    <None Remove=".DS_Store" />
  </ItemGroup>
</Project>

Encontré el problema. Permítanme comenzar agregando un poco más de información. Este fue originalmente un proyecto .net-core-1.1 que actualicé a 2.0 siguiendo las instrucciones proporcionadas por Microsoft. Después de la actualización, no tuve ningún problema al ejecutar localmente, pero una vez que intenté publicar mi servicio de aplicaciones azure, seguí recibiendo el error de IIS. El último esfuerzo fue crear un nuevo proyecto .net-core-2.0 desde cero esta mañana y notó que el nuevo archivo del proyecto contenía esto:

  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" />
  </ItemGroup>

Agregué eso a mi archivo de proyecto existente (el que se actualizó desde 1.1) y ahora el error desapareció y el problema se resolvió.


Hablé con los miembros del equipo aspnet IISIntegration y encontré mi solución.

tldr: Vacíe su carpeta wwwroot en kudu.

El problema se relaciona con tener cosas viejas que sobran de implementaciones anteriores de 1.x

Paso 1:

Navegue a la Consola Kudu (https: // {yourapp} .scm.azurewebsites.net /)

Paso 2:

Paso 3:

(Nota: navegue en el directorio "sitio")

(Nota: hay una carpeta wwwroot dentro de este wwwroot. Debes eliminar la que está en el directorio "sitio")

Etapa 4:

Agregue una nueva carpeta vacía llamada wwwroot donde acaba de eliminar la anterior (dentro del directorio "sitio")

(Nota: mi implementación falló cuando no tenía la carpeta wwwroot vacía allí)

Paso 5: Vuelva a implementar su aplicación y espero que funcione. Buena suerte







.net-core-2.0