本文介绍了使用面向Net Standard的DotNet Core创建Azure WebJob失败并显示错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个.net核心控制台应用程序,我想作为Webjob在Azure中运行。当它尝试执行时,我在日志中看到

I have a dot net core console app that I want to run as a webjob in Azure. When it tries to execute I see in the logs

错误:未找到依赖项清单中指定的程序集-包: Microsoft.DotNet.InternalAbstractions,版本: '1.0.0',路径:'lib / netstandard1.3 / Microsoft.DotNet.InternalAbstractions.dll'

Error: assembly specified in the dependencies manifest was not found -- package: 'Microsoft.DotNet.InternalAbstractions', version: '1.0.0', path: 'lib/netstandard1.3/Microsoft.DotNet.InternalAbstractions.dll'

我的project.json看起来像这样

My project.json looks like this

{
  "buildOptions": {
    "emitEntryPoint": true,
    "copyToOutput": [ "appsettings.json", "run.cmd" ]
  },
  "dependencies": {
    "Helga.Core": "1.0.0-*",
    "Helga.UpdateParkings": "1.0.0-*",
    "Microsoft.Extensions.Configuration": "1.0.0",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
    "Microsoft.NETCore.App": {
      "type": "platform",
      "version": "1.0.1"
    }
  },
  "frameworks": {
    "netcoreapp1.0": {
      "imports": "dnxcore50"
    }
  },
  "publishOptions": {
    "include": [
      "appsettings.json",
      "run.cmd"
    ]
  },
  "version": "1.0.0-*"
}

但是在project.lock.json中我看到

but in project.lock.json I see

  "Microsoft.DotNet.InternalAbstractions/1.0.0": {
    "type": "package",
    "dependencies": {
      "System.AppContext": "4.1.0",
      "System.Collections": "4.0.11",
      "System.IO": "4.1.0",
      "System.IO.FileSystem": "4.0.1",
      "System.Reflection.TypeExtensions": "4.1.0",
      "System.Runtime.Extensions": "4.1.0",
      "System.Runtime.InteropServices": "4.1.0",
      "System.Runtime.InteropServices.RuntimeInformation": "4.0.0"
    },
    "compile": {
      "lib/netstandard1.3/Microsoft.DotNet.InternalAbstractions.dll": {}
    },
    "runtime": {
      "lib/netstandard1.3/Microsoft.DotNet.InternalAbstractions.dll": {}
    }
  },

请咨询。

解决方案

我通过压缩bin / debug文件夹进行了部署,显然该构建引用了已安装的sdk等中的程序集。

I had made the deployment by zipping up the bin/debug folder and apparently the build references assemblies in installed sdk's etc.

当我将项目发布到文件系统并压缩PublishOutput文件夹时,由于所有相关程序集均已复制到该文件夹​​,因此一切开始工作。

When I did a Publish of the project to the filesystem and zipped up the PublishOutput folder instead everything started working because all dependant assemblies were copied to that folder.

这篇关于使用面向Net Standard的DotNet Core创建Azure WebJob失败并显示错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-19 11:41