使用面向Net Standard的DotNet Core创建Azure WebJob失败并显示错误 [英] Azure WebJob create with DotNet Core targeting Net Standard fails with error
问题描述
我有一个.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失败并显示错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!