.net core Azure Functions 2.0-EventHubTrigger-System.Private.CoreLib:无法加载文件或程序集“;函数project.dll“;
我能够运行函数应用程序,该应用程序具有来自本地和West US2消费计划的eventhub绑定。从过去4天开始,在我们将所有依赖项目迁移到x64中并将所有NUGET更新为最新版本之后,功能应用程序开始失败。它甚至没有启动,无法加载函数project.dll本身。即使我将bits部署到消费计划中,也存在同样的问题.net core Azure Functions 2.0-EventHubTrigger-System.Private.CoreLib:无法加载文件或程序集“;函数project.dll“;,.net-core,azure-functions,azure-functions-runtime,azure-functions-core-tools,.net Core,Azure Functions,Azure Functions Runtime,Azure Functions Core Tools,我能够运行函数应用程序,该应用程序具有来自本地和West US2消费计划的eventhub绑定。从过去4天开始,在我们将所有依赖项目迁移到x64中并将所有NUGET更新为最新版本之后,功能应用程序开始失败。它甚至没有启动,无法加载函数project.dll本身。即使我将bits部署到消费计划中,也存在同样的问题 此处的函数项目名称-EventHubConsumers Azure功能版本-2.0 Azure功能工具版本-2.28 项目生成配置-x64 Net版本-Net核心2.1 Visual
- 此处的函数项目名称-EventHubConsumers
- Azure功能版本-2.0
- Azure功能工具版本-2.28
- 项目生成配置-x64
- Net版本-Net核心2.1
- Visual Studio 2019和2017
我拉不动FusionLog。我猜函数框架StartOcator有自定义逻辑来加载库,而库不会填充fusion日志
我尝试在FunctionAssemblyLoadContext.cs中调试LoadFromAssemblyPath(string assemblyPath,bool addProbingPath)
,该异常会引发此异常。我可以看到程序集bin路径,并验证我的函数应用程序是否已内置到该文件夹中。我甚至通过在IlSpy中打开来验证dll的版本和其他细节。我无法理解为什么程序集(函数应用程序dll)在该路径中存在时无法加载
- Github上记录的问题:
- 试用Microsoft.Azure.Webjobs.Extensions.Eventhubs的旧版本,即试用3.0.5版
- 清理、删除obj、bin,然后运行
- 删除LocalAppData中AzureFunctionsTools的所有旧版本(2.28除外)
- 从vs2017开始运行
[FunctionName(“WriteToStore”)]
公共异步任务运行([EventHubTrigger(“活动”,Connection=“EventHubConnectionAppSetting”,ConsumerGroup=“%ConsumerGroup%”)EventData[]事件,
[EventHub(“失败的活动”,Connection=“EventHubConnectionAppSetting”)]IAsyncCollector outputEvents)
{
//这里的逻辑
}
有关功能控制台的更多详细信息:
Azure函数核心工具(2.7.1505提交哈希:eb8182995562240ca83dd0e0e3394586cf5fdfa3)
函数运行时版本:2.0.12590.0
[2019年8月4日10:09:25 PM]建筑主机:禁止启动:错误,禁止配置:错误
[8/4/2019 10:09:26 PM]发生主机错误
[8/4/2019 10:09:26 PM]System.Private.CoreLib:无法加载文件或程序集“Microsoft..EventHubConsumers,版本=1.0.0.0,区域性=中性,PublicKeyToken=null”
值不能为null
参数名称:提供程序
按任意键继续…[8/4/2019 10:09:27 PM]建筑主机:禁止启动:错误,禁止配置:错误
[2019年8月4日10:09:27 PM]发生主机错误
[8/4/2019 10:09:27 PM]System.Private.CoreLib:无法加载文件或程序集“Microsoft..EventHubConsumers,版本=1.0.0.0,区域性=中性,PublicKeyToken=null”
托管环境:生产
内容根路径:D:some\EventHubConsumers\bin\x64\Debug\netcoreapp2.1
现在收听:
应用程序已启动。按Ctrl+C组合键关闭
[8/4/2019 10:09:29 PM]建筑主机:禁止启动:错误,禁止配置:错误
[2019年8月4日10:09:29 PM]发生主机错误
[8/4/2019 10:09:29 PM]System.Private.CoreLib:无法加载文件或程序集“Microsoft.some.EventHubConsumers,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”
在解决了几个问题后,我就可以正常工作了。我将注意我遵循的问题和修复 重复,我的函数应用程序配置为使用x64构建并在.Netcore 2.1上运行
%LocalAPPDATA%\AzureFunctionsTools
。您可以在releases文件夹中看到azure function core tools的所有版本以及cli和func.exe示例-AzureFunctionsTools\releases\2.28.0\cli