Как правильно импортировать пакет Nuget для Azure Function v2? - PullRequest
0 голосов
/ 26 сентября 2018

Я использовал основные функциональные инструменты Azure, чтобы создать свою функцию.Я пытаюсь импортировать Newtonsoft.Json, но не могу заставить его работать правильно.Вот мои основные настройки:

function.proj:

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>  
<ItemGroup>
    <PackageReference Include="Newtonsoft.Json" Version="11.0.2"/>
</ItemGroup>

function.json:

{
  "disabled": false,
  "bindings": [
    {
      "name": "myTimer",
      "type": "timerTrigger",
      "direction": "in",
      "schedule": "0 * * * * *"
    }
  ]
}

run.csx:

using System;
using Newtonsoft.Json;

public static void Run(TimerInfo myTimer, ILogger log)
{
    log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
}

host.json:

{
   "version":  "2.0"
}

Когда я запускаю "запуск хоста func", он сразу падает, когда нажимает "using Newtonsoft.Json".

enter image description here

Кажется, он правильно отслеживает мой файл function.proj, потому что каждый раз, когда я его сохраняю, он утверждает, что восстанавливает мои пакеты.enter image description here

Я что-то не так делаю?Как я могу получить пакет Nuget?

1 Ответ

0 голосов
/ 26 сентября 2018

Чтобы сослаться на внешнюю зависимость в файлах .csx, необходимо добавить #r <PackageName> (* в данном случае #r Newtonsoft.Json) в начало файла.

В некоторых файлах автоматически указываются только определенные зависимостиФункции Azure и выбор других доступны без добавления их в файл project.json или function.proj, если вы ссылаетесь на них с пометкой #r.Более полный список можно найти в справочнике разработчика C # для функций Azure.

...