Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmap for .NET 5 and Azure Functions V3 #6674

Closed
prabh-62 opened this issue Sep 19, 2020 · 183 comments
Closed

Roadmap for .NET 5 and Azure Functions V3 #6674

prabh-62 opened this issue Sep 19, 2020 · 183 comments

Comments

@prabh-62
Copy link

What problem would the feature you're requesting solve? Please describe.

Azure Functions V3 project does not build with .NET 5 SDK

Describe the solution you'd like

Azure Functions V3 project should not error out with .NET 5 SDK

Describe alternatives you've considered

N/A

Additional context

Tried running Azure Functions V3 in .NET 5 docker container
*.csproj file

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
    <AzureFunctionsVersion>v3</AzureFunctionsVersion>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.9" />
  </ItemGroup>
</Project>
  • > dotnet --info
.NET SDK (reflecting any global.json):
 Version:   5.0.100-rc.1.20452.10
 Commit:    473d1b592e

Runtime Environment:
 OS Name:     debian
 OS Version:  10
 OS Platform: Linux
 RID:         debian.10-x64
 Base Path:   /usr/share/dotnet/sdk/5.0.100-rc.1.20452.10/

Host (useful for support):
  Version: 5.0.0-rc.1.20451.14
  Commit:  38017c3935

.NET SDKs installed:
  5.0.100-rc.1.20452.10 [/usr/share/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 5.0.0-rc.1.20451.17 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 5.0.0-rc.1.20451.14 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET runtimes or SDKs:
  https://aka.ms/dotnet-download
  • dotnet build
Microsoft (R) Build Engine version 16.8.0-preview-20451-02+51a1071f8 for .NET
Copyright (C) Microsoft Corporation. All rights reserved.

  Determining projects to restore...
  All projects are up-to-date for restore.
  You are using a preview version of .NET. See: https://aka.ms/dotnet-core-preview
  ImageService -> /workspaces/net5fn/bin/Debug/net5.0/ImageService.dll
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error : It was not possible to find any compatible framework version [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error : The framework 'Microsoft.NETCore.App', version '3.1.0' was not found. [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error :   - The following frameworks were found: [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error :       5.0.0-rc.1.20451.14 at [/usr/share/dotnet/shared/Microsoft.NETCore.App] [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error :  [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error : You can resolve the problem by installing the specified framework and/or SDK. [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error :  [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error : The specified framework can be found at: [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error :   - https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=3.1.0&arch=x64&rid=debian.10-x64 [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error :  [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error : Metadata generation failed. [/workspaces/net5fn/ImageService.csproj]

Build FAILED.

/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error : It was not possible to find any compatible framework version [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error : The framework 'Microsoft.NETCore.App', version '3.1.0' was not found. [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error :   - The following frameworks were found: [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error :       5.0.0-rc.1.20451.14 at [/usr/share/dotnet/shared/Microsoft.NETCore.App] [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error :  [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error : You can resolve the problem by installing the specified framework and/or SDK. [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error :  [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error : The specified framework can be found at: [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error :   - https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=3.1.0&arch=x64&rid=debian.10-x64 [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error :  [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error : Metadata generation failed. [/workspaces/net5fn/ImageService.csproj]
    0 Warning(s)
    2 Error(s)

Time Elapsed 00:00:02.40
@ghost ghost assigned kashimiz Sep 19, 2020
@prabh-62
Copy link
Author

Not sure, if this issue should be moved to https://github.com/Azure/azure-functions-vs-build-sdk repo

@Peter-B-
Copy link

This is a very interesting question. Is there a roadmap for supporting .Net 5 in Azure Functions?

Is there a plan to support EF Core 5 on .Net Core 3.1?

@c0dybrown
Copy link

@prabh-62 @Peter-B- Have you tried using azure functions prerelease as so:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
    <AzureFunctionsVersion>v3-prerelease</AzureFunctionsVersion>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.Azure.Functions.Extensions" Version="1.1.0" />
    <PackageReference Include="Microsoft.Azure.WebJobs.Extensions.EventGrid" Version="2.1.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.0-rc.1.20451.13" />
    <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.9" />
  </ItemGroup>

@Pinox
Copy link

Pinox commented Sep 26, 2020

@c0dybrown Does it work as a workaround ?

@Peter-B-
Copy link

@c0dybrown No, I didn't know about it. Thanks for bringing that to my attention. I will give it a try.

I know that it says prerelease, but is there any "getting started" or documentation for that? I could not find much on Google or even Bing :-)

@prabh-62
Copy link
Author

I tried with v3-prerelease. Still the same errors with dotnet build command.

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
    <AzureFunctionsVersion>v3-prerelease</AzureFunctionsVersion>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.9" />
  </ItemGroup>
</Project>
  • dotnet build
Microsoft (R) Build Engine version 16.8.0-preview-20451-02+51a1071f8 for .NET
Copyright (C) Microsoft Corporation. All rights reserved.

  Determining projects to restore...
  Restored /workspaces/net5fn/ImageService.csproj (in 534 ms).
  You are using a preview version of .NET. See: https://aka.ms/dotnet-core-preview
  ImageService -> /workspaces/net5fn/bin/Debug/net5.0/ImageService.dll
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error : It was not possible to find any compatible framework version [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error : The framework 'Microsoft.NETCore.App', version '3.1.0' was not found. [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error :   - The following frameworks were found: [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error :       5.0.0-rc.1.20451.14 at [/usr/share/dotnet/shared/Microsoft.NETCore.App] [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error :  [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error : You can resolve the problem by installing the specified framework and/or SDK. [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error :  [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error : The specified framework can be found at: [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error :   - https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=3.1.0&arch=x64&rid=debian.10-x64 [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error :  [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error : Metadata generation failed. [/workspaces/net5fn/ImageService.csproj]

Build FAILED.

/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error : It was not possible to find any compatible framework version [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error : The framework 'Microsoft.NETCore.App', version '3.1.0' was not found. [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error :   - The following frameworks were found: [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error :       5.0.0-rc.1.20451.14 at [/usr/share/dotnet/shared/Microsoft.NETCore.App] [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error :  [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error : You can resolve the problem by installing the specified framework and/or SDK. [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error :  [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error : The specified framework can be found at: [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error :   - https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=3.1.0&arch=x64&rid=debian.10-x64 [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error :  [/workspaces/net5fn/ImageService.csproj]
/root/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error : Metadata generation failed. [/workspaces/net5fn/ImageService.csproj]
    0 Warning(s)
    2 Error(s)

Time Elapsed 00:00:02.54

@prabh-62
Copy link
Author

Azure/azure-functions-vs-build-sdk#451 (comment)

As per this comment, .NET 5 is not supported

@Peter-B-
Copy link

Peter-B- commented Sep 29, 2020

Does anyone know a plan for enabling EF Core 5 und .Net Core 3.1 in an Azure Function?

This would be great, but when I run it locally, it does not find Microsoft.Extensions.Logging 5.

See Azure/azure-functions-vs-build-sdk#472

@atvanvlack
Copy link

Azure/azure-functions-vs-build-sdk#451 (comment)

As per this comment, .NET 5 is not supported

My question is, will Azure Functions have a new release in November when GA happens for .NET 5?

@anthonychu
Copy link
Member

We’re working .NET 5 support but don’t know whether it will be ready when .NET 5 is GA.

As for running EF Core 5 on v3, we need to investigate why it’s not working.

@jjxtra
Copy link

jjxtra commented Oct 17, 2020

.NET 5 publish to azure functions is working but there are a few "could not evaluate...' errors. It does deploy the zip file though, but every function call gets a 404 error.

Since azure functions lags months behind the general .net annual cycle, can we get self contained publishing support on azure functions? This has to make your life simpler on the back-end as you can stop caring about what runtimes are installed on your Windows and Linux cloud servers...

@anthonychu
Copy link
Member

Currently, .NET functions compile to a class library that is loaded in a .NET Core 3.1 host process, so you can't run on .NET 5 by publishing a self-contained exe.

With the new .NET 5 worker, we're breaking from the class library model and the worker will be its own process.

cc @jeffhollan

@tforkmann
Copy link

Hi there, is there any news on that? Thanks, Tim

@c0dybrown
Copy link

@anthonychu One thing that would bridge the gap in a big way: get EF Core 5 working on Azure functions somehow. For me and many others that I work with, the most critical feature coming out of the .NET/EF 5 release is the new "Split Query" feature. Using split queries for long include chains in EF cuts transaction time exponentially and drastically reduces code complexity.

It's the difference between having a function run for 45+ seconds (or fail) due to a poorly optimized DB query that requires developer intervention and a bunch of code to fix, and having the same code execute in <1 second.

Please my friend, I will personally put a bounty on EF 5 in Azure Functions

@onionhammer
Copy link

onionhammer commented Nov 11, 2020

@c0dybrown have you tried using efcore5 with netcoreapp3.1? In the interim, I dont think EF core 5 requires .net5

@thiagottss
Copy link

@c0dybrown have you tried using efcore5 with netcoreapp3.1? In the interim, I dont think EF core 5 requires .net5

It works with netcore3.1 but it doesn't work with Azure Function v3, on Azure. If you want to "run/debug" locally you can update (4) Azure Functions Core Tools dlls to version 5 and it will work. But it will fail when you deploy it to Azure.

https://stackoverflow.com/a/64460664/7037154

@c0dybrown
Copy link

@c0dybrown have you tried using efcore5 with netcoreapp3.1? In the interim, I dont think EF core 5 requires .net5

It works with netcore3.1 but it doesn't work with Azure Function v3, on Azure. If you want to "run/debug" locally you can update (4) Azure Functions Core Tools dlls to version 5 and it will work. But it will fail when you deploy it to Azure.

https://stackoverflow.com/a/64460664/7037154

@onionhammer - @thiagottss answer is accurate in my experience, even after trying a million "tricks" such as installing the .NET 5 runtime on the Azure function host

@onionhammer
Copy link

@thiagottss ahh that bites. Hopefully Microsoft fixes this swiftly :/

@dansmitt
Copy link

We are about to deploy our application with .Net 5 ... Just the Azure function does not support it... What's going wrong here?

@jjxtra
Copy link

jjxtra commented Nov 12, 2020

Azure functions is getting overhauled - self contained deploys will be the future as far as I understand, then we don't have this annual mess of not being able to upgrade .net version.

@onionhammer
Copy link

It would be nice to get some sort of ETA; like "Coming December" or "Coming Q3 of 2024", just a ballpark to know if its worth waiting

@jjxtra
Copy link

jjxtra commented Nov 12, 2020

If you need to deploy today, make a .net core 3.1 functions app and refactor any shared code that your functions project needs into a .net standard 2.1 library. Once they get their stuff in order, you can move the 3.1 functions app to .net 5.

This is a little painful but can be accomplished by adding linked .cs files to the .net standard 2.1 library project (or to the functions project and skip the library project). It's a little hacky, but only temporary until they get things sorted out.

@MattJeanes
Copy link

This issue is blocking our upgrade to .NET 5 and we'd like to know if it's worth waiting a couple weeks for Azure Functions to support .NET 5 or if we should go ahead changing our libraries to netstandard2.1 and functions back to netcoreapp3.1

@anthonychu
Copy link
Member

Current ETA is a preview by end of year. Thanks for your patience.

@kuromukira
Copy link

If you need to deploy today, make a .net core 3.1 functions app and refactor any shared code that your functions project needs into a .net standard 2.1 library. Once they get their stuff in order, you can move the 3.1 functions app to .net 5.

This is a little painful but can be accomplished by adding linked .cs files to the .net standard 2.1 library project (or to the functions project and skip the library project). It's a little hacky, but only temporary until they get things sorted out.

3rd party packages that teams rely on should also move to .net standard 2.1 right?

@jjxtra
Copy link

jjxtra commented Nov 12, 2020

Definitely. If you are relying on Azure functions in the next few months, I'd rely on .net standard 2.1 to bridge the gap. Most nuget packages support it just fine.

@SergiySeletsky
Copy link

It is blocking us to use .NET 5 too...
will the next version support gRPC triggers and streams for functions?
maybe you need some help to make it faster?

@MattJeanes
Copy link

MattJeanes commented Feb 28, 2021

I think overall this would have gone down a lot better with proper communication to users, Azure Functions is not some niche little product it's a huge part of many businesses and not to mention created and maintained by Microsoft itself.

Naturally people assume that with a new .NET version, first party products such as Azure Functions were going to be upgraded day one or at least not far behind, and the fact that there was not even a public roadmap and still isn't really on when we can expect a GA Azure Functions on .NET 5 is really disappointing.

For me, this manifested as a huge time waste as I spend a while upgrading our entire codebase to .NET 5 only to find out that Azure Functions doesn't work at all, and by the time it does eventually come out my changes will be very stale and I'll have to do it again. I have no doubt many other users have had the same experience.

If there was some little note on the .NET 5 release blog post or somewhere similar that Azure Functions were not yet running on it, click here to see why it's not ready and our roadmap for when this will be ready, I think it would have saved a lot of headaches.

I don't want to sound like I'm having a go at the team or anyone in particular, I really like the improvements that are being made and I understand that they take time to do, just better communication with the public would have been much appreciated. Thank you.

@mwwhited
Copy link

For me, this manifested as a huge time waste as I spend a while upgrading our entire codebase to .NET 5 only to find out that Azure Functions doesn't work at all, and by the time it does eventually come out my changes will be very stale and I'll have to do it again. I have no doubt many other users have had the same experience.

I've done that twice already. Once at Launch just to be all WTF, why doesn't this work to then see a message a few days later saying they decided to do this out of process mess. Then a second time a few months after the first with upgrading everything a second time (including fighting the breaking changes for .Net 5 a second time) just to find out that even if I did jump though all the hoops to get the preview running on my machine, the build/deployment updated to get the hacked version on Azure, and change all of my configuration processes (because again... WTF) I would still have required libraries that are not compatible because of the out-of-process and I would have a hell of a time getting my dev teams to handle all the workarounds.

@louisoftokyo
Copy link

louisoftokyo commented Mar 6, 2021

@jeffhollan

Is there any word on a date as to when VS support will be released? Are we looking more at April or May now?

@kinetiq
Copy link

kinetiq commented Mar 8, 2021

Can someone please answer this for me?

  • What is preventing people from using the .NET Core 5 AF preview today?
  • Is it just something people shouldn't even attempt right now?
  • We are using EF Core. Am I going to find that this doesn't work in the preview, but will work in the coming GA?

I see a lot of frustrated people referring to issues that all the other frustrated people know about, but that I do not. :) I do see a lack of DF support, which does not impact us, fortunately. I also see a fairly involved upgrade process for the preview, but I can live with that.

We have an app running .NET Core 5, and my functions are still on 3.1 - because of how our AF API works, were able to defer deployment hoping for a GA. It has now been... Longer than expected. There will be changes that require us to move to Core 5 and deploy very soon, so I need to know how much trouble we might be facing. Thanks!

@onionhammer
Copy link

@kinetiq most .NET 5 things work in the .NET 5 AF preview today, the bad news is the only things that dont work is the 'Azure Functions' part.. you know, the part where you can bind to things and output things

@jeffhollan
Copy link

@kinetiq only potential thing to be aware of is that there may be some minor changes in APIs between preview and when it goes production ready. That said we’re currently at a release candidate for APIs so expect this is a good time to start. I have a sample of EF 5 here https://github.com/jeffhollan/functions-net5-entityframework

@onionhammer input and output bindings work - I believe I have both in my sample. What does not work is binding to SDK types (e.g. CloudBlockBlob instead of string or byte[]) https://docs.microsoft.com/en-us/azure/azure-functions/dotnet-isolated-process-guide

@onionhammer
Copy link

onionhammer commented Mar 8, 2021

Yes, lack of byte[], and stream, iasynccollector bindings are a big limitation for me

@kinetiq
Copy link

kinetiq commented Mar 8, 2021

@onionhammer @jeffhollan That's very helpful, thanks!

So I can use bindings like ServiceBusTrigger, TimerTrigger, SendGrid, etc right?

Does the local experience work? I saw some hints that people were having trouble with that.

@jeffhollan
Copy link

Yes all bindings should be supported at this point. Local debug works, the thing that’s rolling out this week is more tools to template your project (CLI and VS Code I think are landing even today?).

@kinetiq
Copy link

kinetiq commented Mar 8, 2021

@jeffhollan Great, I'm sure this summary at the end will help other people as well.

@rubo
Copy link

rubo commented Mar 8, 2021

@jeffhollan Are durable functions supported? Do they work?

@jeffhollan
Copy link

Ah yes I'm sorry, I misspoke, all bindings work but Durable is a very special binding and does not work today https://docs.microsoft.com/en-us/azure/azure-functions/dotnet-isolated-process-guide#differences-with-net-class-library-functions

@RichMercer
Copy link

Ah yes I'm sorry, I misspoke, all bindings work but Durable is a very special binding and does not work today https://docs.microsoft.com/en-us/azure/azure-functions/dotnet-isolated-process-guide#differences-with-net-class-library-functions

I thought bindings like CosmosDB weren't supported either?

There's also no direct support for types inherited from underlying service SDKs, such as DocumentClient and BrokeredMessage.

If they are supported, are there any examples of how to implement them?

@jeffhollan
Copy link

The bindings work, you just can't pass in a DocumentClient as a parameter. Only universal types like string and byte[] are supported. You can use a DocumentClient but you'll need to pull in the Cosmos SDK and spin it up in your own code

@qsdfplkj
Copy link

qsdfplkj commented Mar 8, 2021

Just tell me when it's all done so I can update.

@tjrobinson
Copy link

Given a lot of the technology is shared between Azure Functions and Web Jobs - does the above apply to Web Jobs too?

@ModernRonin
Copy link

@jeffhollan Does this mean (cosmosdb) change feed triggered functions work now? If yes, great, because soon I will be in the same place as @kinetiq where I have to upgrade my functions :-)

Thanks!

@rubo
Copy link

rubo commented Mar 8, 2021

Ah yes I'm sorry, I misspoke, all bindings work but Durable is a very special binding and does not work today https://docs.microsoft.com/en-us/azure/azure-functions/dotnet-isolated-process-guide#differences-with-net-class-library-functions

@jeffhollan Does this mean no durable functions for .NET 5 at all? If it doesn't, any ETA? Thank you.

@jeffhollan
Copy link

We will be publishing a blog post this week that goes into more details of some of the roadmap. Durable won't be supported in the short term for these isolated process functions (.NET 5). We know it will be supported for .NET 6, it's possible we make some progress this calendar year to get it working in .NET 5 as well, but at this time don't have an ETA or hard commitment on when Durable may light up in these isolated processes. Best case would be sometime later this calendar year.

@onionhammer
Copy link

onionhammer commented Mar 8, 2021

@jeffhollan this list is very helpful

https://docs.microsoft.com/en-us/azure/azure-functions/dotnet-isolated-process-guide#differences-with-net-class-library-functions

Can you update it to include whether things like 'byte[]' and 'Stream' are supported? When you say "All bindings work" does that include bindings to byte[] and Stream? I've already migrated twice only to hit a wall and revert changes back to netcoreapp3, so It'd be useful to know what is actually still broken, what's "coming soon" and what wont ever be supported

@Mithras
Copy link

Mithras commented Mar 9, 2021

Can you also make sure your example app is up to date?
For example, here https://docs.microsoft.com/en-us/azure/azure-functions/dotnet-isolated-process-guide#differences-with-net-class-library-functions you are saying that Microsoft.Azure.Functions.Worker.Extensions.* should be used instead of Microsoft.Azure.WebJobs.Extensions.* but that's not what I see in the example app.

I don't think these new packages are working anyway. When I replace Microsoft.Azure.WebJobs.Extensions.Storage with Microsoft.Azure.Functions.Worker.Extensions.Storage I'm getting this
image
Do I reference both?

Also, your example app is missing [TimerTrigger]. It's especially important because as of right now I have to define my own TimerInfo and ScheduleStatus to make it work. It's not documented anywhere and there is no example. I just found a workaround it in one of the dozens issues here.

@Mithras
Copy link

Mithras commented Mar 9, 2021

Nevermind, there is now a new example app here: https://github.com/Azure/azure-functions-dotnet-worker/tree/main/samples/SampleApp
Dunno if it works.

@quintusm
Copy link

I sincerely hope someone is also looking at how all of this is going to work with that other .Net language, F#. And that there will be templates and samples provided

@skyfrk
Copy link

skyfrk commented Mar 10, 2021

The Azure Functions .NET Worker is now GA!

https://github.com/Azure/azure-functions-dotnet-worker/releases/tag/1.0.0

@fabiocav
Copy link
Member

Providing an update here (as mentioned by @skyfrk above); The .NET Worker, with .NET 5 support is now GA, and you can find more information about the .NET roadmap for Azure Functions here: https://techcommunity.microsoft.com/t5/apps-on-azure/net-on-azure-functions-roadmap/ba-p/2197916

Moving forward, for issues related to .NET 5, please open new issues at https://github.com/Azure/azure-functions-dotnet-worker/issues

For in-proc questions and questions related to .NET 6 support, please feel free to continue to use this repo.

Thank you all for the patience!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests