La documentation indique que vous pouvez placer une DLL dans un dossier bin
et la référencer à l'aide d'une syntaxe spéciale #r
. Toutefois, je ne trouve pas comment télécharger ces DLL dans le portail Azure. Est-ce possible, et si oui, comment cela est-il censé être accompli?
C'est possible.
Vous pouvez utiliser Kudu pour télécharger vos fichiers binaires:
Ouvrez le portail Kudu de l'application. Si l'URL de votre application Fonctions est samplefunctions.azurewebsites.net
, passez à samplefunctions.scm.azurewebsites.net
.
Cliquez sur le menu Debug console
et sélectionnez PowerShell
. Cela ouvrira une console PowerShell et un explorateur de fichiers. Accédez à D:\home\site\wwwroot
.
Là, vous devriez voir un dossier qui porte le nom de votre fonction existante. Accédez à ce dossier et faites glisser vos fichiers binaires dans le dossier bin
.
Vous pouvez maintenant les utiliser avec la directive #r
.
Je pense que vous devriez également pouvoir configurer le déploiement continu de vos bibliothèques en fonctions (par exemple à partir d’un dépôt Git). Allez à Function app settings
-> Configure Continuous Integration
.
Les fonctions Azure prennent désormais en charge au moment de l’exécution les fonctions précompilées . https://blogs.msdn.Microsoft.com/appserviceteam/2017/03/16/publishing-a-net-class-library-as-a- function-app /
Vous devrez utiliser un projet Web offrant une expérience complète du développement d’IntelliSense, du débogage local et de la publication sur Azure. Les instructions ci-dessus détaillent comment.
Vous pouvez déployer vos fonctions comportant des références externes tout en effectuant le déploiement à l'aide des outils de fonctions de Visual Studio.
Configurez simplement votre compte Azure dans vos paramètres de déploiement de visual studio, pour vos fonctions Azure et jouez à deploy. Toutes les références figureront dans votre application Function sur Azure.
Vous pouvez utiliser Octopus Deploy (étape du déploiement du site Web) pour déployer une fonction.
La structure de dossier du paquet de nugets transféré dans Octopus devrait être:
nuget_package.nupkg
|--bin
|--*.dll
|--run.csx
|--function.json
Vous pouvez ajouter une référence d'assemblage avec un chemin relatif.
Dans portal.Azure.com -> applications de fonction, sur le côté droit, Afficher les fichiers -> télécharger la dll (par exemple: YourDllName.dll).
Dans run.csx, entrez #r "./VotreDllName.dll"