我正在开发一个Azure Functions应用,该应用具有多种不同的触发器(HTTP,QUEUE,TIMER和SignalR)。当我在Work PC(Windows)上进行开发时,它们可以正常工作,但是当我在Mac上在家进行开发时,它们将无法工作。
我收到以下错误:
发生主机错误 [28/03/2019 20:37:53] Microsoft.Azure.WebJobs.Extensions.Storage:无法从程序集“ Microsoft.Azure.WebJobs.Host,版本=”中加载类型“ Microsoft.Azure.WebJobs.Hosting.IOptionsFormatter” 3.0.3.0,文化=中性,PublicKeyToken = 31bf3856ad364e35'。 值不能为空。 参数名称:provider
仅当我将Microsoft.Azure.WebJobs.Extensions.Storage nuget程序包添加到一个干净的项目中时,才会出现此错误。
事实证明,我正在运行与GiddyUpHorsey完全相同的SDK版本,根据BrettSam的建议,我尝试根据the docs通过Brew和NPM更新CLI。按照this answer
但是,如您所见,没有任何作用
有什么想法吗?
答案 0 :(得分:2)
Visual Studio for Mac 7不支持使用本地安装的Azure Functions核心工具。 Visual Studio for Mac 7附带了这些工具的副本,并且只会使用这些工具。
Visual Studio for Mac 8确实支持此功能。如果发现模板和Azure函数核心工具本身已过时,它还具有内置功能来更新模板和Azure函数核心工具本身。 Azure Functions团队提供了Visual Studio for Mac将使用的在线提要。在“新项目”中创建新的Azure Functions项目时,可以使用此更新功能。
如果使用的是Visual Studio for Mac 7,则可以将工具的更新版本复制到以下目录:
/Applications/Visual Studio.app/Contents/Resources/lib/monodevelop/AddIns/MonoDevelop.AzureFunctions/azure-functions-cli/
但是,在尝试更新这些文件之前,我将首先备份该目录或整个Visual Studio.app
,以便在不起作用时可以回滚。