如何调试 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 中讨论了更好的解决方案。
我有一个 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 中讨论了更好的解决方案。