Azure 函数主机无法解析依赖项



我正在尝试将F#和Paket与Azure Functions一起使用。我正在运行 Azure 函数核心工具,以便我可以在本地运行我的函数,然后再将它们部署到 Azure。

问题是当我运行函数时,编译失败并显示:

warning FS211: The search directory 'C:UsersMY_USERAppDataLocalTemp51f4f9fa-dc47-48b7-a2fa-432b52cf02a9../packages' could not be found

相关代码如下所示:

#I "../packages"
#r "FSharp.Data/lib/net40/Fsharp.Data.dll"
#r "WindowsAzure.Storage/lib/net45/Microsoft.WindowsAzure.Storage.dll"
#r "System.Net.Http/lib/net46/System.Net.Http.dll"

现在,相对于 .fsx 文件,../packages是 Paket 依赖项的正确路径。当我在 VS Code 中以交互方式运行代码时,这工作正常,但 Azure 主机似乎正在使用一个奇怪的搜索目录(不存在,顺便说一句(,而不是使用代码目录。

我尝试指定绝对路径,例如:

#r "C:/MY_PATH/packages/FSharp.Data/lib/net40/Fsharp.Data.dll"
#r "C:/MY_PATH/packages/WindowsAzure.Storage/lib/net45/Microsoft.WindowsAzure.Storage.dll"
#r "C:/MY_PATH/packages/System.Net.Http/lib/net46/System.Net.Http.dll"

这样做可以让代码编译,但是在运行它时我遇到了此错误:

Unable to find assembly 'FSharp.Data, Version=2.3.3.0, Culture=neutral, PublicKeyToken=null'. Are you missing a private assembly file?

我检查了一下,FSharp.Data程序集确实是2.3.3.0版

关于如何让 Azure 函数主机查找和使用我的依赖项的任何想法?

它现在似乎可以工作,只要我不指定带有 #I 的搜索路径,并包含引用的完整相对路径。

我真的不确定为什么会这样。

相关内容

  • 没有找到相关文章

最新更新