Microsoft has previewed an AI extension library which it hopes will form a unified API for AI programming in C#, and has published a release candidate for .NET 9.0 with a go-live license, ahead of its general availability in November.
The library is described as "a unified layer of C# abstractions for interacting with AI services." The idea is that authors of any AI libraries, for example for a specific service provider, can implement these abstractions so that developers can use their library with a standard API. According to Microsoft, it will still be possible to use service-specific APIs which are not covered by the abstractions, but developers can "pass through to proprietary APIs only when required."
There is perhaps an analogy with database interfaces like and , which allow developers to use a standard API with a variety of drivers for different database managers.
In its preview, Microsoft has provided reference implementations for OpenAI, Azure AI inference, and Ollama.
That said, there is no guarantee that the library will be well supported, and some developers are confused. "It is not clear if this works with Azure OpenAI library for .NET? can you confirm?" asked one. And another queried, " and is not compatible right? should we obsolete SK?"
The library preview will extend past the release of .NET 9, so it will be a while before developers will know whether this approach is likely to gain traction.
As for .NET 9, Microsoft has shipped a release candidate complete with a go-live license. There is an annual release cycle for .NET, and version 9.0 is set for launch at the virtual .NET Conf on November 12 to 14. This is not a long-term support (LTS) release, but will be supported for 18 months, and according to the docs has a "special focus on cloud-native apps and performance."
Microsoft partner software engineer Steven Toub wrote in depth about performance improvements in .NET 9. There are many small changes which should make this a worthwhile upgrade even without any changes to application code.
The what's new list for .NET 9 is long, and includes version 13 of C# - but the theme in general seems to be one of small enhancements rather than big new features. For .NET MAUI (Multi-platform App UI), for example, the "focus is to improve product quality," according to the official notes.
Developers wary of relatively new frameworks including MAUI and Blazor will welcome a focus on quality, and may want to look again at whether they are ready for adoption.