Imansible trovare dipendenza Application Insights nell'image docker dopo pubblicazione dotnet

Ricevo il seguente errore quando provo a eseguire la mia applicazione da un'image docker:

Error: assembly specified in the dependencies manifest was not found -- package: 'Microsoft.ApplicationInsights.AspNetCore', version: '1.0.2', path: 'lib/netstandard1.6/Microsoft.ApplicationInsights.AspNetCore.dll' 

L'image microsoft/aspnetcore è basata su microsoft/aspnetcore .

I file in cui sono stati costruiti utilizzando il dotnet restore dotnet publish e il dotnet publish sull'image microsoft/aspnetcore-build:1.1.0-projectjson

Sotto "targets" in {app}.deps.json ho:

  "Microsoft.ApplicationInsights.AspNetCore/1.0.2": { "dependencies": { "Microsoft.ApplicationInsights": "2.1.0", "Microsoft.AspNetCore.Hosting.Abstractions": "1.0.0", "Microsoft.AspNetCore.Http.Abstractions": "1.0.0", "Microsoft.AspNetCore.Mvc.ViewFeatures": "1.0.1", "Microsoft.Extensions.Configuration": "1.0.0", "Microsoft.Extensions.DiagnosticAdapter": "1.0.0", "Microsoft.Extensions.Logging.Abstractions": "1.0.0", "System.Net.NameResolution": "4.3.0" }, "runtime": { "lib/netstandard1.6/Microsoft.ApplicationInsights.AspNetCore.dll": {} }, "compile": { "lib/netstandard1.6/Microsoft.ApplicationInsights.AspNetCore.dll": {} } }, 

Non ho una cartella lib nella mia pubblicazione pubblicata, ma ho Microsoft.ApplicationInsights.AspNetCore alla radice della mia output pubblicata.

    Mi sento come se manchi qualcosa di ovvio. Qualsiasi aiuto sarebbe apprezzato.

    Aggiornare:

    L'aggiornamento delle istruzioni di applicazione in 2.0.0 non ha effetto.

    Rimuovere l'applicazione Insights semplicemente sposta il problema in un altro assembly.

    Passare ad una distribuzione autonoma non ha alcun effetto.

    Aggiunta COREHOST_TRACE=1 e ha ricevuto la seguente output:

     Processing TPA for deps entry [Microsoft.ApplicationInsights.AspNetCore, 2.0.0, lib/netstandard1.6/Microsoft.ApplicationInsights.AspNetCore.dll] Considering entry [Microsoft.ApplicationInsights.AspNetCore/2.0.0/lib/netstandard1.6/Microsoft.ApplicationInsights.AspNetCore.dll] and probe dir [/packagescache/x64] The hash file is invalid [/packagescache/x64/Microsoft.ApplicationInsights.AspNetCore/2.0.0/Microsoft.ApplicationInsights.AspNetCore.2.0.0.nupkg.sha512] Skipping... match hash failed Considering entry [Microsoft.ApplicationInsights.AspNetCore/2.0.0/lib/netstandard1.6/Microsoft.ApplicationInsights.AspNetCore.dll] and probe dir [/packagescache] The hash file is invalid [/packagescache/Microsoft.ApplicationInsights.AspNetCore/2.0.0/Microsoft.ApplicationInsights.AspNetCore.2.0.0.nupkg.sha512] Skipping... match hash failed Error: assembly specified in the dependencies manifest was not found -- package: 'Microsoft.ApplicationInsights.AspNetCore', version: '2.0.0', path: 'lib/netstandard1.6/Microsoft.ApplicationInsights.AspNetCore.dll' 

    Ho risolto questo problema eseguendo l'applicazione trovata nella cartella di pubblicazione. Ad esempio, se pubblici un'applicazione .net core 1.1 in modalità di rilascio per Ubuntu 16.04, i tuoi file pubblicati saranno in

    \ Bin \ release \ netcoreapp1.1 \ ubuntu.16.04-x64

    Questa directory dispone di un file eseguibile, ma non è l'eseguibile che si desidera utilizzare. In realtà è necessario andare più in profondità in una directory e utilizzare l'eseguibile

    \ Bin \ release \ netcoreapp1.1 \ ubuntu.16.04-x64 \ pubblicare

    Ho avuto un problema simile che gestisce la mia applicazione aspnet core in un contenitore Docker. Avevo aggiornato da Dotnet core 1.1 a aspnet core 2.

    Ho dovuto cambiare la base Dockerfile per utilizzare Microsoft / aspnet piuttosto che Microsoft / Dotnet poiché la base Dotnet non aveva tutte le libre aspnet.