documentation は、DLLをbin
フォルダに配置し、特別な#r
構文を使用して参照できることを示していますが、 AzureポータルこれらのDLLをアップロードする方法を見つけることができませんが、それは可能ですか?
これは可能です。
Kuduを使用してバイナリをアップロードできます。
アプリのKuduポータルを開きます。関数アプリのURLがsamplefunctions.azurewebsites.net
の場合は、samplefunctions.scm.azurewebsites.net
に移動します。
Debug console
メニューをクリックし、PowerShell
を選択します。これにより、PowerShellコンソールとファイルエクスプローラーが開きます。 D:\home\site\wwwroot
に移動します。
そこでは、既存の関数にちなんで名付けられたフォルダが表示されるはずです。そのフォルダに移動し、バイナリをbin
フォルダ内にドラッグアンドドロップします。
これで、#r
ディレクティブでそれらを使用できます。
ライブラリを関数に継続的にデプロイするように構成することもできると思います(たとえば、Gitリポジトリから)。 Function app settings
-> Configure Continuous Integration
に移動します。
Azure関数は、プリコンパイルされた関数のランタイムサポートを備えています。 https://blogs.msdn.Microsoft.com/appserviceteam/2017/03/16/publishing-a-net-class-library-as-a-function-app/
IntelliSenseの完全な開発エクスペリエンス、ローカルデバッグ、Azureへの公開を提供するWebプロジェクトを使用する必要があります。上記の説明では、その方法について詳しく説明しています。
Visual Studio関数ツールでデプロイするだけで、外部参照を持つ関数をデプロイできます。
Visual Studioのデプロイ設定でAzureアカウントを構成し、Azureの機能とPlayデプロイを行うだけです。すべての参照はAzureのFunction Appにあります。
Octopus Deploy(Webサイトデプロイメントステップ)を使用して、関数をデプロイできます。
Octopus deployにプッシュされるnugetパッケージのフォルダー構造は次のようになります。
nuget_package.nupkg
|--bin
|--*.dll
|--run.csx
|--function.json
相対パスでアセンブリ参照を追加できます。
portal.Azure.com->関数アプリで、右側にある[ファイルの表示]-> dllをアップロードします(例:YourDllName.dll)。
run.csxで、#r "./YourDllName.dll"と入力します