如何在Azure函数中调试FileLoadException

时间:2018-04-06 12:45:49

标签: c# azure azure-functions .net-standard-2.0

我有一个Azure函数(.netstandard 2.0)由于FileLoadException而无法运行。通常我会使用Fuslog来找出缺少哪个依赖项,但我还没有找到一种方法来运行我的Azure功能的RDP机器。现在,通过各种日志,我只获得以下信息:

  

System.IO.FileLoadException:无法加载文件或程序集   ' Microsoft.WindowsAzure.Storage,Version = 9.1.1.0,Culture = neutral,   公钥= 31bf3856ad364e35&#39 ;.无法找到或加载特定的   文件。

我可以通过Server Explorer看到该文件的正确版本。所以这似乎是一个依赖问题。

我该如何调试?

1 个答案:

答案 0 :(得分:3)

基本上,您的Function App是一个插件,可以加载到运行时。运行时有自己的依赖项,如果碰巧使用相同的依赖项但版本较高,则会出现运行时错误。

WindowsAzure.Storage肯定在此列表中。

对于运行时v1,找出确切版本的最可靠方法是查看this file,只搜索有问题的包。

运行时v2还没有。

然后将您的引用降级为相同版本。

this issue中讨论了一个更好的解决方案。