web-dev-qa-db-fra.com

Comment utiliser des assemblages externes avec les applications de fonction Microsoft Azure?

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?

13
Josh

C'est possible. 

Vous pouvez utiliser Kudu pour télécharger vos fichiers binaires:

  1. Ouvrez le portail Kudu de l'application. Si l'URL de votre application Fonctions est samplefunctions.azurewebsites.net, passez à samplefunctions.scm.azurewebsites.net

  2. 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.

  3. 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.

  4. 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.

23
Mikhail Shilkov

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.

3
Irwin

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.

1

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
1
Tany

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"

0
PCoder