Azure Functions - 引用与 CLI 相同的库

Azure Functions - Referencing the same library as the CLI

我正在处理预编译的 C# Azure 函数,我想引用很多 Microsoft.Extensions dll。其中大部分的当前版本是 2.1.1

但是,当我 运行 项目时,出现程序集加载错误。这似乎是由大多数这些 dll 附带 func.exe 文件所在的文件夹引起的,但版本为 2.0.0.

如果我参考版本 2.0.0,那么一切正常。但是有没有办法不必引用与 cli 完全相同的版本?

这个版本冲突已经在新版本的cli中修复。看到这个 related issue and SO thread.

This should be resolved on the latest version of the Azure Functions runtime (2.0.11888, CLI 2.0.1-beta.31).

Microsoft.Extensions.Configuration 2.1.1 做了一些测试。按预期工作。

要使用最新的 cli,

  • 如果使用Visual Studio调试, 将 Azure Functions and Web Jobs Tools(在菜单工具 > 扩展和更新中)更新到最新版本 15.0.40617.0。更新后,创建一个新的 Azure Function 项目,在创建对话框等待 VS 下载新的 cli 和模板。

    过了一会儿,我们可以看到提示变成了

    在Windows上,检查这个文件夹%LocalAPPDATA%\AzureFunctionsTools\Releases.2.2是否存在,其中包含2.0.1-beta.31 cli。如果下载失败,删除%LocalAPPDATA%\AzureFunctionsTools文件夹,重启VS重新下载即可。

  • 如果使用npmnpm i -g azure-functions-core-tools@core --unsafe-perm true。有关更多选择,请参阅 cli installation