我的 Azure 函数 (.netstandard 2.0) 由于 FileLoadException
而无法运行。通常我会使用 Fuslog 来找出缺少哪个依赖项,但我还没有找到一种方法来 RDP 运行我的 Azure Functions 的计算机。目前,通过各种日志,我只得到以下信息:
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.
我可以通过服务器资源管理器看到该文件的正确版本实际上存在。所以这似乎是一个依赖问题。
我该如何调试这个?
基本上,您的函数应用程序是一个加载到运行时的插件。运行时有自己的依赖项,如果您碰巧使用相同的依赖项但版本更高,则会出现运行时错误。
WindowsAzure.Storage
肯定在此列表中。
对于运行时 v1,找出确切版本的最可靠方法是查看 this file ,只需搜索有问题的包即可。
运行时 v2 还没有。
然后将您的引用降级到相同版本。
this issue 中讨论了更好的解决方案.
我是一名优秀的程序员,十分优秀!