The documentation says that you can put a DLL in a bin
folder and reference it using a special #r
syntax, however in the Azure portal I cannot find
Azure functions now has runtime support for precompiled functions. https://blogs.msdn.microsoft.com/appserviceteam/2017/03/16/publishing-a-net-class-library-as-a-function-app/
You’ll need to use a web project which will provide the full development experience of IntelliSense, local debugging, and publishing to Azure. The instructions above detail how.
This is possible.
You can use Kudu to upload your binaries:
Open the app's Kudu portal. If your Functions App's URL is samplefunctions.azurewebsites.net
, then go to samplefunctions.scm.azurewebsites.net
.
Click on the Debug console
menu and select PowerShell
. This will open up a PowerShell console plus a file explorer. Navigate to D:\home\site\wwwroot
.
There you should see a folder which is named after your existing function. Navigate to that folder and drag-n-drop your binaries inside bin
folder.
Now you can use them with #r
directive.
I think you should also be able to configure the continuous deployment of your libraries to Functions (e.g. from a Git repo). Go to Function app settings
-> Configure Continuous Integration
.
You're able to deploy your functions that has some external references just doing the deploy by Visual Studio Functions Tools.
Just configure your Azure account in your visual studio deployment settings, for your azure functions and play deploy. All references will be there in your Function App on azure.
You can use Octopus Deploy (Website deployment step) to deploy a function.
The folder structure of the nuget package pushed to octopus deploy should be:
nuget_package.nupkg
|--bin
|--*.dll
|--run.csx
|--function.json
You can add assembly reference with a relative path.
In portal.azure.com -> function apps, on the right hand side, View Files -> upload the dll (eg: YourDllName.dll).
In run.csx, enter #r "./YourDllName.dll"