David O'Brien
David O'Brien

Reputation: 893

Multiple compiled libraries in one Function App

is it possible to have more than one compiled library in one Function App? I'm wondering with "Function Proxies" if that would still be applicable with a compiled C# library?!
Or is there 1 Function App == 1 compiled library ?
Cheers
David

Upvotes: 2

Views: 990

Answers (2)

lindydonna
lindydonna

Reputation: 3875

You can have multiple C# libraries per function app, just use a different value for "scriptFile" and "entryPoint".

The best way to do this would be to have 2 class library projects and one Web project for deployment.

Example layout:

  • FirstClassLibrary
  • SecondClassLibrary
  • WebProject: references class libraries above and contains function.json files

FirstFunc/function.json would contain:

"scriptFile": "..\\bin\\First.dll", "entryPoint": "Namespace.MyFunction"

Second/function.json would contain:

"scriptFile": "..\\bin\\Second.dll", "entryPoint": "Namespace.MyOtherGreatFunction"

To check the Kudu build, try msbuild for the solution from the command line. If that works, Kudu should also work.

Upvotes: 1

David O'Brien
David O'Brien

Reputation: 893

It looks like there can only be one compiled C# library per Function app.
So, only one .dll.
I added a new class to the existing run.cs and a new folder containing a function.json referencing that new class as the entry point.
This ended up building one .dll on Azure Function with two separate functions.
I guess for me, not being the bestest of the best in C# yet, this seems okay, but not sure if that's really the way to go.
Appreciate any feedback. This here is now my repo: https://github.com/davidobrien1985/o365_functions

Upvotes: 0

Related Questions