Я реплицирую EncodeBlob_SingleOut_Function из Интеграция Azure Media Службы с функциями Azure. Он работал на моем локальном компьютере при отладке в Visual Studio 2015. Однако, когда я опубликовал функцию на портале Azure, я получаю сообщение «Тип или имя пространства имен «MediaServices» не существует в пространстве имен «Microsoft.WindowsAzure» (вы отсутствует ссылка на сборку?)" при компиляции. Помимо класса MediaServices, приложение-функция на портале Azure не может найти и другие объекты, такие как CloudMediaContext, MediaServicesCredentials, IAsset, IAccessPolicy и т. д.
Имя типа или пространства имен «MediaServices» не существует в пространстве имен «Microsoft.WindowsAzure» (вам не хватает ссылки на сборку?)
Ответы (2)
Согласно вашему описанию, я следовал руководству по вы предоставили и создали мою функцию Azure на основе примера EncodeBlob_SingleOut_Function. После некоторых испытаний я смог заставить его работать в Azure так, как ожидалось. Вот некоторые возможные причины, вы можете обратиться к ним:
Войдите на портал Azure, выберите приложение-функцию, нажмите «Параметры приложения-функции» > «Перейти к редактору службы приложений».
Убедитесь, что структура содержимого вашей функции Azure выглядит следующим образом:
Примечание. Файл project.json
находится в корневом каталоге вашей функции. Папки Presets
и Shared
должны находиться в корневом каталоге wwwroot
. Вы можете найти их следующим образом:
Вы можете загрузить каталог/файл через редактор службы приложений или KUDU.
После конфигурации без изменения кода, когда загружается большой двоичный объект, вы можете обнаружить, что функция запускается следующим образом:
Отличный ответ Брюс, Да, это как-то связано с nugget и менеджером пакетов. Похоже, возникла проблема с извлечением пакетов самородков в файле Project.json. Я замечал это раньше, но еще не понял, что вызывает проблему.
Сегодня я исследую это еще немного, чтобы выяснить, могу ли я найти, почему самородок иногда терпит неудачу.
Также обратите внимание, что я только недавно обновил версии пакетов, так как доступны более новые.
{
"frameworks": {
"net46": {
"dependencies": {
"windowsazure.mediaservices": "3.8.0.3",
"windowsazure.mediaservices.extensions": "3.8.0.3"
}
}
}
}