Azure 使用Visual Studio 2013部署时未复制相关依赖项(DLL)

Azure 使用Visual Studio 2013部署时未复制相关依赖项(DLL),azure,visual-studio-2013,azure-webjobs,Azure,Visual Studio 2013,Azure Webjobs,在我部署的一个webjob中,我引用了我的一个类库(Core),它负责运行一些进程(在本例中,使用SendGrid发送电子邮件) 当我手动部署webjobs(上传.zip文件)时,一切都很好。我清理了部署并使用Visual Studio 2013重新部署,webjob开始出现问题。这里的主要问题是,它正在查找由我的核心类库而不是控制台应用程序引用的SendGrid dll,并且没有完成它,并抛出以下错误: “未处理的异常:System.IO.FileLoadException:无法加载文件或程序

在我部署的一个webjob中,我引用了我的一个类库(Core),它负责运行一些进程(在本例中,使用SendGrid发送电子邮件)

当我手动部署webjobs(上传.zip文件)时,一切都很好。我清理了部署并使用Visual Studio 2013重新部署,webjob开始出现问题。这里的主要问题是,它正在查找由我的核心类库而不是控制台应用程序引用的SendGrid dll,并且没有完成它,并抛出以下错误:

“未处理的异常:System.IO.FileLoadException:无法加载文件或程序集'SendGrid….版本=4.5.0.0,区域性=neutral,PublicKeyToken=30AD4FE6B2A6EED'或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(HRESULT中的异常:0x8013100)”

我通过FTP访问了该网站,发现SendGrid程序集实际上不在我的WebJob所在的位置

我的问题是:在使用VS 2013进行部署时,有没有办法强制将此依赖项复制到正确的目录


谢谢,

我是在2013年夏季更新中推出WebJobs工具的团队成员,我可以让您知道我们已经注意到这个问题,并且已经为即将发布的下一次更新检查了修复程序。同时,解决方法是将程序集引用设置为所需的程序集(仅NuGet软件包即可解决此问题),然后重新发布。实际上,我们在VS中使用a来为WebJobs执行部署逻辑。一旦我们发布了更新,我们还将发布NuGet(现在正在进行最终测试),因此夏季和秋季更新的客户将缓解此问题

通过执行以下操作解决了我的问题

  • 将引用的程序集设置为“复制本地->真”
  • 将解决方案配置设置为“发布”

  • 这似乎是一个已知的错误,不幸的是,他们似乎并不急于修复它。可能的解决办法:

  • 您可以手动将其复制到
  • 创建生成事件以将其复制到
  • 似乎有些人有幸添加了这样的内容
    var t=typeof(第三方SomeClass)

  • 谢谢你的信息,布雷迪。是否有我可以报告问题的具体地点?我遇到了解决方案文件夹无法工作的问题(),而且,当我部署到网站时,我必须在Azure中手动添加AzureJobsDashboard连接字符串,而不是将它们放在我的解决方案的连接字符串中并发布它。再次感谢。我们有几个不同的论坛,你可以使用,我们也有我们的MS Connect在线工具,允许你向我们提出问题。Connect是最好的方法,因为我们可以将客户问题直接传递给适当的团队。谢谢,我将通过建议的工具将发现的问题归档。@bradygaster在这种情况下nuget软件包有什么特别之处,或者我可以只添加无聊的旧常规程序集引用(copy local=true)?@bradygaster RC 1.0解决了这个问题吗?我刚试过,但对我不起作用,这就是我为什么要问的原因。但我可能做错了什么。