-
Notifications
You must be signed in to change notification settings - Fork 441
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
Comments
Not sure, if this issue should be moved to https://github.com/Azure/azure-functions-vs-build-sdk repo |
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? |
@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> |
@c0dybrown Does it work as a workaround ? |
@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 :-) |
I tried with <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>
|
Azure/azure-functions-vs-build-sdk#451 (comment) As per this comment, .NET 5 is not supported |
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. |
My question is, will Azure Functions have a new release in November when GA happens for .NET 5? |
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. |
.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... |
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 |
Hi there, is there any news on that? Thanks, Tim |
@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 |
@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. |
@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 |
@thiagottss ahh that bites. Hopefully Microsoft fixes this swiftly :/ |
We are about to deploy our application with .Net 5 ... Just the Azure function does not support it... What's going wrong here? |
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. |
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 |
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. |
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 |
Current ETA is a preview by end of year. Thanks for your patience. |
3rd party packages that teams rely on should also move to .net standard 2.1 right? |
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. |
It is blocking us to use .NET 5 too... |
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. |
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. |
Is there any word on a date as to when VS support will be released? Are we looking more at April or May now? |
Can someone please answer this for me?
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! |
@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 |
@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 |
Yes, lack of byte[], and stream, iasynccollector bindings are a big limitation for me |
@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. |
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?). |
@jeffhollan Great, I'm sure this summary at the end will help other people as well. |
@jeffhollan Are durable functions supported? Do they work? |
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?
If they are supported, are there any examples of how to implement them? |
The bindings work, you just can't pass in a |
Just tell me when it's all done so I can update. |
Given a lot of the technology is shared between Azure Functions and Web Jobs - does the above apply to Web Jobs too? |
@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! |
@jeffhollan Does this mean no durable functions for .NET 5 at all? If it doesn't, any ETA? Thank you. |
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. |
@jeffhollan this list is very helpful 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 |
Can you also make sure your example app is up to date? I don't think these new packages are working anyway. When I replace Also, your example app is missing |
Nevermind, there is now a new example app here: https://github.com/Azure/azure-functions-dotnet-worker/tree/main/samples/SampleApp |
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 |
The Azure Functions .NET Worker is now GA! https://github.com/Azure/azure-functions-dotnet-worker/releases/tag/1.0.0 |
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! |
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> dotnet --info
dotnet build
The text was updated successfully, but these errors were encountered: