在dotnet发布后,在docker镜像中找不到Application Insights依赖项

Squ*_*aur 11 docker azure-application-insights .net-core asp.net-core

尝试从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'
Run Code Online (Sandbox Code Playgroud)

泊坞窗图像基于microsoft/aspnetcore.

使用dotnet restoredotnet publish在docker镜像上构建的文件microsoft/aspnetcore-build:1.1.0-projectjson

"targets"{app}.deps.json我有:

  "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": {}
    }
  },
Run Code Online (Sandbox Code Playgroud)

我的已lib发布输出中没有文件夹,但我确实已Microsoft.ApplicationInsights.AspNetCore发布输出的根目录.

我觉得我错过了一些明显的东西.任何帮助,将不胜感激.

更新:

将Application Insights更新到2.0.0无效.

删除Application Insights只会将问题移动到另一个程序集.

切换到独立部署无效.

添加COREHOST_TRACE=1并收到以下输出:

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'
Run Code Online (Sandbox Code Playgroud)

Gre*_*obb 7

我通过执行发布文件夹中的应用程序解决了这个问题.例如,如果您在Ubuntu 16.04的发布模式下发布.net核心1.1应用程序,则您发布的文件将在

\ BIN \发布\netcoreapp1.1\ubuntu.16.04-64

此目录中包含可执行文件,但这不是您要使用的可执行文件.实际上你需要更深入一个目录并使用可执行文件

\ BIN \发布\netcoreapp1.1\ubuntu.16.04-64 \发布