如何调试 Azure 函数中的 FileLoadException

How to debug an FileLoadException in an Azure Function

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

System.IO.FileLoadException : Could not load file or assembly 'Microsoft.WindowsAzure.Storage, Version=9.1.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. Could not find or load a specific file.

我可以通过服务器资源管理器看到正确版本的文件实际上就在那里。所以这似乎是一个依赖问题。

我该如何调试它?

基本上,您的 Function App 是一个 plug-in,它被加载到运行时。运行时有自己的依赖,如果你碰巧使用相同的依赖但版本更高,你会得到一个运行时错误。

WindowsAzure.Storage 绝对在​​此列表中。

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

Runtime v2 还没有。

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

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