documentation говорит, что вы можете поместить DLL в папку bin
и ссылаться на нее с помощью специального синтаксиса #r
, однако на портале Azure я не могу найти, как загрузить эти DLL. Возможно ли это, и если да, то как это должно быть выполнено?Как использовать внешние сборки с приложениями Microsoft Azure?
ответ
Это возможно.
Вы можете использовать Куду загружать двоичные файлы:
Открыть Kudu портал приложения. Если URL-адрес вашего приложения-приложения
samplefunctions.azurewebsites.net
, перейдите по ссылкеsamplefunctions.scm.azurewebsites.net
.Нажмите на меню
Debug console
и выберитеPowerShell
. Это откроет консоль PowerShell и проводник файлов. Перейдите кD:\home\site\wwwroot
.Там вы должны увидеть папку, названную в честь вашей существующей функции. Перейдите в эту папку и перетащите n-drop свои двоичные файлы в папку
bin
.Теперь вы можете использовать их с директивой
#r
.
Я думаю, что вы также должны настроить непрерывное развертывание своих библиотек для функций (например, из Git repo). Перейдите по ссылке Function app settings
->Configure Continuous Integration
.
Итак, Azure функции в C#, используя ScriptCS под капотом? – MiddleTommy
Я сделал это, но он выдает ошибку: файл метаданных '
Это больше не работает, я получаю: 'run.csx (1,1): ошибка CS0006: файл метаданных 'Test.dll' не найден. – Josh
Функции Azure теперь имеют поддержку времени выполнения для предварительно скомпилированных функций. https://blogs.msdn.microsoft.com/appserviceteam/2017/03/16/publishing-a-net-class-library-as-a-function-app/
Вам необходимо будет использовать веб-проект, который обеспечит полный опыт разработки IntelliSense, локальную отладку и публикацию на Azure. Инструкции выше подробно описаны.
Вы можете развернуть свои функции, которые имеют некоторые внешние ссылки, просто выполняющие развертывание с помощью инструментов Visual Studio.
Просто настройте свою учетную запись Azure в настройках развертывания вашей визуальной студии, для ваших лазурных функций и воспроизведения. Все ссылки будут присутствовать в вашем приложении «Функция» на лазури.
Вы можете использовать Octopus Deploy (шаг развертывания веб-сайта) для развертывания функции.
Структура папки пакета NuGet толкнул осьминог развертывание должно быть:
nuget_package.nupkg
|--bin
|--*.dll
|--run.csx
|--function.json
Вы можете добавить ссылку на сборку с относительным путем.
In portal.azure.com -> функции приложения, с правой стороны, просмотр файлов -> загрузка DLL (например: YourDllName.dll).
В run.csx введите #r "./YourDllName.dll"
Похоже, что вопросы одинаковы, однако ответы очень разные. Этот ответ, похоже, не применяется, но ссылка в нем упоминает, что я считаю правильным ответом ... – Josh