#r "Orders.Contracts.dll" #r "Newtonsoft.Json" using System; using System.Threading.Tasks; using Newtonsoft.Json; using Orders.Contracts; public static void Run(string myQueueItem, TraceWriter log) { log.Info($"C# ServiceBus queue trigger function processed message: {myQueueItem}"); var orderCreated = JsonConvert.DeserializeObject(myQueueItem); log.Info($"orderCreated Reference: {orderCreated.OrderReference}"); }
External assemblies have to be added to the bin folder on the function's folder; e.g. D:\home\site\wwwroot\OnOrderCreated\bin.
Firstly I connected to the home site using FileZilla and created the bin and uploaded the DLL.
I got the error
CS0009 "PE image doesn't contain managed metadata".
I then tried a similar technique, but this time went to Function App Setting > Open Dev Console and created the bin folder and uploaded the DLL using FileZilla. That failed too.
In the end I found the best way was to use the Kudu console. I created the bin folder and drag-and-dropped the file from explorer into the Kudu file browser window. This then fixed the error.
https://<functionappname>.scm.azurewebsites.net/DebugConsole
Navigate to /site/wwwroot/
add folder bin
upload files to bin
No comments:
Post a Comment