Не удается привязать параметр 'log' к типу TraceWriter при локальном запуске шаблона функции Azure - PullRequest
0 голосов
/ 04 мая 2018

Я столкнулся с проблемой при использовании функции Azure.

Я создаю шаблон триггера Http Azure Functions v1 (.Net Framework) в VS. Но когда я пытаюсь запустить его напрямую, возникают исключения. my exception here

Я использую последнюю версию VS (15.6.7) и инструментов функций и веб-заданий Azure (15.0.40502.0).

Когда я запускаю его в первый раз, нет запроса на установку чего-либо, он запускается на 1.0.10 Azure Function CLI. После того, как я перезагружаю свой VS и пытаюсь запустить его снова, VS просит загрузить 1.0.12.1 Функциональный CLI. Загрузка кажется неудачной, поскольку я все еще вижу 1.0.10 на плитке окна. Исключение сохраняется постоянно.

Есть идеи? Это не имеет смысла, так как я просто пытаюсь запустить шаблон.

1 Ответ

0 голосов
/ 05 мая 2018

Основная причина показана на скриншоте.

Starting Host (..., Версия = 1.0.11232.0)

Это означает, что ваша функция Cli * 1.0.4 , отличная от 1.0.10 на самом деле, здесь примечание к выпуску 1.0.4 . После тестов найдите, что старая версия вызывает это исключение. Эта версия связана с тем, что не удается загрузить последнюю версию инструментов Azure Function Core через VS.

Обновление для официального решения

Обработка проблемы загрузки инструментов ядра функций Azure . Попробуйте первый вариант, чтобы загрузить с использованием VS еще раз, если он все еще не работает, используйте второй вариант, PS-скрипты.


Ниже приведено оригинальное решение, аналогичное первому и третьему официальному варианту, просто проигнорируйте его

Подробнее

Функции Azure и инструменты веб-заданий недавно обновлены до 15.0.40502.0, а также изменен механизм использования локальной функции Cli. Замечания к выпуску .

Инструменты теперь используют ленту новостей, которая сохраняет шаблоны, инструменты сборки и среду выполнения в актуальном состоянии, когда в службу вносятся изменения.

Когда мы впервые создаем функцию Azure после этого обновления, мы видим подсказку в диалоговом окне Making sure all templates are up to date.... Это означает, что VS загружает необходимые папки и шаблоны в эту папку C:\Users\UserName\AppData\Local\AzureFunctionsTools.

enter image description here Через некоторое время мы видим изменения чаевых как

enter image description here

Если мы не дождемся завершения загрузки и непосредственного создания проекта, появится сообщение о том, что VS загружает 1.0.12.1 Cli. И все должно работать нормально после этого.

Что касается вашей проблемы, я воспроизвожу ее один раз из-за медленной сети. Он не может загрузить эти файлы и пытается использовать старую версию cli, загруженную ранее VS.

Решение

Я рекомендую вам удалить папку AzureFunctionsTools и перезапустить VS, чтобы загрузить ее снова.

Если загрузка все равно не удалась, вы можете загрузить ее вручную. Вы можете найти ссылку на скачивание cli, itemTemplates и projectTemplates в C:\Users\UserName\AppData\Local\AzureFunctionsTools\feed.json.

И структура папок в C:\Users\UserName\AppData\Local\AzureFunctionsTools\Releases\1.0.12.1 выглядит следующим образом

cli
--func.exe
....
templates
--ItemTemplates.nupkg
--ProjectTemplates.nupkg
manifest.json

Содержимое manifest.json

{
  "ReleaseName": "1.0.12.1",
  "CliEntrypointPath":"C:\\Users\\UserName\\AppData\\Local\\AzureFunctionsTools\\Releases\\1.0.12.1\\cli\\func.exe",
  "TemplatesDirectory": "C:\\Users\\UserName\\AppData\\Local\\AzureFunctionsTools\\Releases\\1.0.12.1\\templates",
  "FunctionsExtensionVersion": "~1",
  "SdkPackageVersion": "1.0.13"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...