我使用this教程创建了一个非常简单的publisher
和subscriber
解决方案。我希望将订阅者托管到azure中,作为持续执行webjob
,这会消耗发送到特定主题的所有事件。
Subscriber是一个简单的dotnet核心应用程序,可以在本地开发机器上运行。
我已将'Debug'(或'Release')文件夹的所有内容包装到zip文件中,该文件包含batfile
名称taskRunner.bat
作为webjob开始执行的入口点。以下是taskRunner.bat
dotnet SBClient.dll
SBClient.dll
是一个程序集,包含从主题中获取消息的逻辑。
当我在我的机器上运行这个批处理文件时,一切都很好。但是,当我在我的azure webjobs中将其部署为webjob时,我会看到下面的错误和WebJob的状态仍然是PendingRestart
[01/11/2018 03:51:51 > f07a91: INFO] D:\local\Temp\jobs\continuous\coretask\kigmen2q.zmj>dotnet SBClient.dll
[01/11/2018 03:51:51 > f07a91: ERR ] Error:
[01/11/2018 03:51:51 > f07a91: ERR ] An assembly specified in the application dependencies manifest (SBClient.deps.json) was not found:
[01/11/2018 03:51:51 > f07a91: ERR ] package: 'Microsoft.Azure.Amqp', version: '2.1.2'
[01/11/2018 03:51:51 > f07a91: ERR ] path: 'lib/netstandard1.3/Microsoft.Azure.Amqp.dll'
[01/11/2018 03:51:51 > f07a91: ERR ]
[01/11/2018 03:51:51 > f07a91: SYS ERR ] Job failed due to exit code -2147450740
[01/11/2018 03:51:51 > f07a91: SYS INFO] Process went down, waiting for 60 seconds
[01/11/2018 03:51:51 > f07a91: SYS INFO] Status changed to PendingRestart
查看消息我可以告诉它正在查找名为“Microsoft.Azure.Amqp”的文件,但不知道它是如何在我的机器上工作的。
这意味着我在Azure上没有最新版本的dotnet核心? 我需要配置哪些设置才能使其正常工作?
答案 0 :(得分:0)
根据错误,您缺少Microsoft.Azurem.Amqp.dll
程序集,它是Microsoft.Azure.ServiceBus
程序集的依赖项。您的zip文件是否包含所有必需的依赖项程序集,包括AMQP程序集?