Я создаю функцию Azure, которая будет выступать в качестве серверной части для навыка Alexa.
Все, что я сделал до сих пор в Visual Studio:
- Файл -> Новый проект функций Azure
- Добавить новую функцию Azure
- Добавьте AlexaSkillsKit.NET с помощью NuGet.
- Создайте оболочку реализации
Speechlet
- Добавьте минимальный код в функцию Azure для обработки речи.
При компиляции получаю ошибку:
Не удалось загрузить файл или сборку «Newtonsoft.Json, версия = 7.0.0.0, культура = нейтральная, PublicKeyToken = 30ad4fe6b2a6aeed» или одну из ее зависимостей. Система не может найти указанный файл.
Но, согласно NuGet в Visual Studio, он не пытается использовать 7.0.0.0, он использует 9+. Я пытался обновить и понизить версию пакета JSON.net. Я пробовал очистить/перестроить/перезапустить с нуля.
Я подумал, что, возможно, ответом может быть привязка сборки, но в проекте функций Azure нет ни Web.config, ни App.config.
Что мне не хватает? Как избавиться от этой ошибки?
Код речи:
public class MySpeechlet : SpeechletBase, ISpeechletWithContextAsync
{
public Task<SpeechletResponse> OnIntentAsync(IntentRequest intentRequest, Session session, Context context)
{
throw new System.NotImplementedException();
}
public Task<SpeechletResponse> OnLaunchAsync(LaunchRequest launchRequest, Session session, Context context)
{
throw new System.NotImplementedException();
}
public Task OnSessionStartedAsync(SessionStartedRequest sessionStartedRequest, Session session, Context context)
{
throw new System.NotImplementedException();
}
public Task OnSessionEndedAsync(SessionEndedRequest sessionEndedRequest, Session session, Context context)
{
throw new System.NotImplementedException();
}
}
Функция Azure:
public static class MyFunction
{
[FunctionName("MyFunction")]
public static async Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]HttpRequestMessage req, TraceWriter log)
{
var speechlet = new MySpeechlet();
return await speechlet.GetResponseAsync(req);
}
}
Newtonsoft.Json (>= 7.0.1)
, ссылаетесь ли вы на другую версию nuget Newtonsoft.Json 9.0+ в своем проекте? Если да, то как насчет замены на версию 7.0.1? - person Leo Liu-MSFT   schedule 07.02.2018