Sono in esecuzione una funzione di Azure, denominata SmsWebhook
. Si chiama un metodo in un assembly esterno, AzureFunctionsSample.Services.dll
che ha un riferimento a Newtonsoft.Json 8.0.3
Riferimento Newtonsoft.Json che si lamenta delle funzioni di Azure
I dettagli della mia Run.csx
assomiglia:
#r "AzureFunctionsSample.Services.dll"
using System.Net;
using AzureFunctionsSample.Services
public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
...
}
All'interno del metodo Run()
sopra, creare un'istanza e chiamare un metodo in l'istanza. Tuttavia, ogni volta che io chiamo quel metodo, ricevo il seguente errore:
2016-05-19T13:41:45 Welcome, you are now connected to log-streaming service.
2016-05-19T13:41:46.878 Function started (Id=64fccf0c-d0ef-45ef-ac1c-7736adc94566)
2016-05-19T13:41:46.878 C# HTTP trigger function processed a request. RequestUri=https://ase-dev-fn-demo.azurewebsites.net/api/smswebhook
2016-05-19T13:41:46.878 Function completed (Failure, Id=64fccf0c-d0ef-45ef-ac1c-7736adc94566)
2016-05-19T13:41:46.894 Exception while executing function: Functions.SmsWebhook. Microsoft.Azure.WebJobs.Script: One or more errors occurred. AzureFunctionsSample.Services: Could not load file or assembly 'Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040).
ho aggiunto manualmente la stessa versione del Newtonsoft.Json.dll
sotto la directory bin
, ma ancora ottenuto lo stesso errore. Perché si lamenta al file Newtonsoft.Json.dll
?
Se trasferisco tutte le logiche all'interno dell'assieme esterno in Run.csx
, non si lamenterà, a proposito.
Per curiosità, è possibile aggiungere la seguente direttiva prima del riferimento all'assembly privato: #r "Newtonsoft.Json.dll" e riprovare? –