Opening this issue to track the work and discussions around the .NET Core/.NET Standard migration.
The current plan is for the WebJobs SDK to target .NET Standard 2.0 only.
Work is currently in progress and will move through the various repositories, ultimately moving into the Azure Functions runtime (WebJobs Script): WebJobs SDK -> WebJobs extensions -> WebJobs Script.
One open issue with Service Bus is the fact that the management capabilities have been removed from the SDK and the recommendation is to use ARM instead. Because of the added complexity this introduces (service principal configuration, etc.), the plan will likely be to drop support for automatic entity creation (auto creation of queues, topics, etc.)
/cc @mathewc @MikeStall
Another item worth mentioning is that we'll have a gap on the supported binding types for table storage as their latest SDK does not support IQueryable and we'll wait for them to bring that support back instead of going down the path of closing that gap here.
Hi guys, thanks for this, really happy the work is being done! Do you have any idea when a beta/preview version will be available on nuget? At least to understand time scale - month, months?
This is the last library holding us on full framework.
The initial migration work tracked by this issue has been completed. Extensions and Functions Runtime will be tracked in their respective repositories.
Beta packages targeting .NET Standard 2.0 have been released on NuGet (version 3.x) for those wishing to run the new bits.
Hi, now that .net standard has been released is there an estimated time until 3.0 is released fully? Is there any examples you can point to?
We'll release bits targeting the .NET Standard 2.0 RTM bits, but don't have an ETA on a stable 3.0 release at this point. There is some work that would need to go into 3.0 that is currently in progress.
@christopheranderson , can we put something up (label, milestone, project a tracking issue...) to help folks track the progress on this?
Is there a sample project using the 3.0.0-beta release that you guys might be able to put up somewhere?
We're looking to get started with webjobs in a .net Core project and obviously would like to have it cross platform.
We have the basic sample here: https://github.com/Azure/azure-webjobs-sdk/tree/dev/sample/SampleHost
Most of the concepts coming from 2.x still apply, so the existing documentation is relevant.
@fabiocav - Terrific, thanks for that. Some questions:
appsettings.json, or does the job host automatically try to pick that up?Smaller bonus question: If I'm running with C# 7.1 and an async main, can I use await jobHost.StartAsync() instead? 馃槈
Update: For reference, here's what I've got so far:
static async System.Threading.Tasks.Task Main(string[] args)
{
var configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json")
.Build();
var serviceCollection = new ServiceCollection()
.ProjectSpecificDataAccess(configuration.GetConnectionString("ApplicationDataContext"));
var provider = serviceCollection.BuildServiceProvider();
var jobHostConfiguration = new JobHostConfiguration(configuration);
jobHostConfiguration.Queues.VisibilityTimeout = TimeSpan.FromSeconds(15);
jobHostConfiguration.Queues.MaxDequeueCount = 3;
jobHostConfiguration.LoggerFactory = new LoggerFactory().AddConsole();
jobHostConfiguration.JobActivator = new MicrosoftDependencyInjectionActivator(provider);
if (jobHostConfiguration.IsDevelopment)
{
jobHostConfiguration.UseDevelopmentSettings();
}
var jobHost = new JobHost(jobHostConfiguration);
jobHost.RunAndBlock();
}
@christopheranderson , can we put something up (label, milestone, project a tracking issue...) to help folks track the progress on this?
Is there a place to check progress on v3.0.0? Do you have an ETA?
It's actually already available and quite usable. Just finished putting together some new .net core webjobs these past few weeks. Packages are in nuget and the APIs are basically identical to v2.
I went through the ASP.NET vNext/v5 cycle which was very long and painful for my team but I give a lot of credit to the ASP.NET team for keeping everyone informed about their milestones and delivery time frames. I'd regularly go to the road map page to see how things were progressing. They even made changes to the road map i.e. ASP.NET Core which delayed everything further. Nevertheless, there was a place I could go to see progress. My biggest frustration with the .NET Core WebJobs/Functions project is the lack of communication and commitment to any type of deadlines. We've been in the dark and that's very frustrating. At this time, I have no idea when we'll have the final version of WebJobs/Functions in .NET Core and when we'll be able to launch Visual Studio to create a new Azure Functions project in .NET Core. No idea whatsoever! I completely understand and appreciate the complexity of such projects but I'd argue that what the ASP.NET team went through was equally challenging. They were much more open and communicative and I cannot tell you how much I appreciated that. They not only published their road map but they even held weekly ASP.NET Weekly Standup sessions and answered questions directly. Damian Edwards was super blunt in telling everyone that he was not ready to commit to deadlines but did his best to give some indications. I really appreciated his openness and candor. I wish the WebJobs/Functions team had taken a similar approach.
Just found out about this exciting news and wanted to share it! We can now create Azure Functions targeting .NET Core in Visual Studio 15.5 which is currently in preview but VS team has been going from preview to final fairly quickly these days! Very excited about this! Thank you WebJobs/Functions and Visual Studio teams! https://blogs.msdn.microsoft.com/webdev/2017/11/15/improvements-to-azure-functions-in-visual-studio/
could the team explain why the nuget packages are still in beta? A list of known issues would be very helpful. When can we excpect the stable version?
Most helpful comment
We'll release bits targeting the .NET Standard 2.0 RTM bits, but don't have an ETA on a stable 3.0 release at this point. There is some work that would need to go into 3.0 that is currently in progress.
@christopheranderson , can we put something up (label, milestone, project a tracking issue...) to help folks track the progress on this?