2017-10-10 2 views
1

Des commentaires sur ce qui pourrait provoquer cette exception? « System.InvalidCastException:: [A] System.AppDomain ne peut pas être jeté à [B]ServiceBusTrigger: Impossible de charger le fichier ou l'assembly 'Microsoft.Azure.ServiceBus'

Exception lors de la résolution d'exécution de l'ensemble 'Microsoft.Azure.ServiceBus, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 7e34167dcc6d6d8c' System.AppDomain. Le type A provient de 'System.Private.CoreLib, Version = 4.0.0.0, Culture = neutre, PublicKeyToken = 7cec85d7bea7798e' dans le contexte 'Default' à l'emplacement 'C: \ Program Files \ dotnet \ shared \ Microsoft.NETCore.App \ 2.0.0 \ System.Private.CoreLib.dll '. Le type B provient de 'System.Runtime.Extensions, Version = 4.2.0.0, Culture = neutre, PublicKeyToken = b03f5f7f11d50a3a' dans le contexte 'Default' à l'emplacement 'C: \ Program Files \ dotnet \ shared \ Microsoft.NETCore.App \ 2.0.0 \ System.Runtime.Extensions.dll '.

J'ai créé une bibliothèque de classes avec .net Standard 2.0 et ajouté 2 fonctions azure one pour httpTrigger & other pour serviceBusTrigger.

httpTrigger fonctionne comme prévu mais serviceBusTrigger plante avec l'erreur Error Message ci-dessous.

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" 
} 

version Microsoft.Azure.ServiceBus 1.0.0

Version 2.0.0 NetStandard.Library

+0

Ressemble à un conflit de version. Essayez le projet basé sur SDK Fonctions (avec des attributs et 'function.json' généré automatiquement). – Mikhail

+0

merci pour votre aide @Mikhail. Au lieu de fonctions projet SDK qui est. Net framework complet, je voudrais aller avec NetStandard.Library version 2.0.0. Faites-moi savoir si vous avez des indications. – santosh

+0

La version 1.0.5 du SDK doit prendre en charge .NET Standard, voir https://stackoverflow.com/a/46614307/1171619 – Mikhail

Répondre

0

Le nouveau runtime .NET Core ne prend pas encore en charge le déclencheur ServiceBus. Nous sommes encore en train de migrer cela et certaines des autres extensions de .NET Core. Voir le numéro de suivi here.