Azure功能 - 无法加载文件或程序集''Microsoft.WindowsAzure.Storage'

San*_*ngh 10 azure azure-functions

我有一个azure函数,即使我在project.json文件中指定了依赖项后,也会抛出以下错误.

"无法加载文件或程序集'Microsoft.WindowsAzure.Storage,Version = 8.1.1.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其中一个依赖项.系统找不到指定的文件."

{
  "frameworks": {
    "net46": {
      "dependencies": {
        "WindowsAzure.Storage": "8.1.1"
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我试图重新启动应用服务,创建另一个FunctionApp来排除主机没有加载更新的程序集的任何问题,但我仍然无法让它工作.

Nuget还可以显示正在恢复此程序集,但仍会不断发出此错误.还有什么可能是错的以及如何调试此问题?

San*_*ngh 13

结果是版本不匹配问题.目前,WindowsAzure.Storage包的版本可用AzureFunctions is 7.2.1.我有一个依赖的自定义程序集,8.1.1这就是我尝试使用它的原因project.json.

显然它无法完成.我切换到7.2.1然后它工作得很好.如果您正在编写预编译函数,那么这将始终存在问题,因为依赖项应该与Azure Functions中可用的开箱即可.我希望微软在未来的版本中改进这种体验.


Mik*_*kov 8

WindowsAzure.Storage 环境会自动为您引用,因此您不应手动执行此操作.

清理你的,project.json并使用你的函数脚本中的程序集:

#r "Microsoft.WindowsAzure.Storage"
Run Code Online (Sandbox Code Playgroud)

通过显式引用NuGet包,您可能会遇到版本冲突.

请参阅此处的 "引用外部装配"部分.