ServiceBusTrigger:无法加载文件或程序集'Microsoft.Azure.ServiceBus'

问题描述:

有关可能导致此异常的任何想法?ServiceBusTrigger:无法加载文件或程序集'Microsoft.Azure.ServiceBus'

程序集'Microsoft.Azure.ServiceBus,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 7e3416​​7dcc6d6d8c'的运行时解析期间出现异常:System.InvalidCastException:[A] System.AppDomain不能转换为[B] System.AppDomain。类型A来自位于'C:\ Program Files \ dotnet \ shared \ Microsoft.NETCore.App \'目录下的'Default'上下文中的'System.Private.CoreLib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 7cec85d7bea7798e' 2.0.0 \ System.Private.CoreLib.dll”。类型B源于位于'C:\ Program Files \ dotnet \ shared \ Microsoft.NETCore.App \'目录下的'Default'上下文中的'System.Runtime.Extensions,Version = 4.2.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a' 2.0.0 \ System.Runtime.Extensions.dll”。

我创建了一个带有.net标准2.0的类库,并为httpTrigger &添加了2个天蓝色的函数,其他用于serviceBusTrigger。

httpTrigger按预期方式工作,但serviceBusTrigger正在崩溃,出现错误Error Message

ServiceBusTrigger.cs:

using Microsoft.Azure.ServiceBus; 

namespace TriggerCore 
{ 
    public static class SBTrigger 
    { 
     static SBTrigger() 
     { 
     } 
     public static void Run(Message message) 
     { 
     } 
    } 
} 

function.json:

{ 
    "bindings": [ 
    { 
     "type": "serviceBusTrigger", 
     "queueName": "myqueue", 
     "accessRights": "manage", 
     "name": "message" 
    } 
    ], 
    "disabled": false, 
    "scriptFile": "../TriggerCore.dll", 
    "entryPoint": "TriggerCore.SBTrigger.Run" 
} 

Microsoft.Azure.ServiceBus版本1.0.0

NetStandard.Library版本2.0.0

+0

看起来像版本冲突。试试函数基于SDK的项目(带有属性和自动生成的'function.json')。 – Mikhail

+0

感谢您的帮助@Mikhail。而不是基于.net完整框架的基于SDK的项目,我想使用NetStandard.Library版本2.0.0。让我知道你是否有任何指示。 – santosh

+0

SDK版本1.0.5应支持.NET标准,请参阅https://*.com/a/46614307/1171619 – Mikhail

新的.NET Core运行时尚不支持ServiceBus触发器。我们仍然在将这个和其他一些扩展迁移到.NET Core的过程中。请参阅跟踪问题here