在Azure WebJob中引用NuGet包MailKit

时间:2018-05-31 14:19:51

标签: azure azure-webjobs

我创建了一个小项目,可以很好地上传到Azure作为WebJob。然后我添加了一个NuGet引用到MailKit,以便它发送电子邮件。从我的电脑,这工作正常,并发送电子邮件。

当我上传启用电子邮件的项目时,发生以下错误

[05/31/2018 14:04:05 > c30776: ERR ]   An assembly specified in the application dependencies manifest (myProject.deps.json) was not found:
[05/31/2018 14:04:05 > c30776: ERR ]     package: 'MailKit', version: '2.0.4'
[05/31/2018 14:04:05 > c30776: ERR ]     path: 'lib/netstandard2.0/MailKit.dll'

我猜测是因为Azure服务器上没有安装/提供MailKit NuGet包。如何在Azure WebJob中引用MailKit?我是否应该在Azure中的其他位置添加包引用,还是需要引用MailKit的中心实例?

1 个答案:

答案 0 :(得分:0)

您似乎缺少MailKit参考。因此,您可以使用<PropertyGroup>文件中的.csproj 强制将NuGet程序集复制到构建的输出

<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>

然后你会得到你需要的所有dll如下: enter image description here

有关详细信息,请参阅此article

此外,您可以在发布到azure和upload the zip folder to azure时将netcore控制台发布到文件夹。它可以包含您需要的所有引用和json文件。

然后将整个文件夹放到zip文件夹中,然后上传到azure作为webjobs。

enter image description here