Announcing Orleans 2.0 Tech Preview 3

We just released a big update on the Orleans 2.0 tech preview train. The new binaries now target .NET Standard 2.0, so they have almost full parity with the .NET version of Orleans.
This means that the current state is not only functional for people writing new applications in .NET Core, but also as an upgrade path for people with applications already running in .NET Framework.

.NET Core.NET Framework

Are we done yet?

This is an exciting milestone for our team, as it brings the 2.0 release a lot closer. There are a few remaining things we would like to do for this version before we release, such as:

  • Enable build-time codegen for .NET Core apps (only runtime codegen is supported for .NET Core still)
  • Migrate to Microsoft.Extensions.Logging for all of our logging
  • Flesh out the silo builder APIs more
  • Improve startup by scanning only the assemblies defined by the end user
  • Restructure some of our types to have an Abstractions project that we don't version often
  • Have an initial version of the Transactions feature working
  • Provide a level of backwards compatibility for types commonly serialized and persisted to storage
  • and some other minor things

How can I try this?

We just published the packages to MyGet:
Please follow the link for instructions on how to configure NuGet to download packages from that feed.

Please help us

We plan to start releasing updated packages to the MyGet feed a lot more often, so please try the preview, and if there's issues, let us know, so that we can fix it and send an update your way shortly after.

Is Orleans 2.0 TP3 production ready?

Not yet.
Big disclaimer: We do our CI testing in .NET (because our tests heavily rely on AppDomains to create an in-memory cluster of silos, and those are not supported in .NET Core, but we plan to tackle that soon). We have done some basic manual testing in .NET Core (both Windows and Linux), and we have some of our contributors using it to develop new services. Getting feedback (and PRs!) is one of the main goals of this release, and not to be used in production yet.
Also, there is no guarantee that this technical preview is entirely backwards compatible with Orleans 1.5, even for the features that were fully ported. Once we are closer to a stable release, we’ll list all the breaking changes that we know of in case you are interested in upgrading your application from 1.X to 2.0.


If you were using an older tech preview, notice that assembly loading changed a little, and we expect to continue to change it. In the meantime, please note that in .NET Core you might be required to publish your app so that all the assemblies to scan are in the same folder (you can achieve this by calling `dotnet publish` on your silo host).

Comments (5)

  1. Marcos Souza says:

    Hello, thanks for the update!

    Is the source code for this release available? On GitHub I see a couple tags for TP1, but nothing on TP3. I’m troubleshooting a couple issues and it would be nice to be able to look at the exact version of the source used for these packages.

    1. Hi Marcos, I just pushed a tag to the commit we used for publishing the TP3:
      Let us know if there’s something we need to address. BTW, the biggest breaking change that affects ends users (other than upgrading to .NET Standard 2.0, which is mostly all good) is how assembly loading works. So be sure to read the note at the end of the blog post.

  2. article1 says:

    Have you any plan for the final release of the 2.0 version? If there is a date, may be we can start codding for out .net core project now

    1. sbykov says:

      We published TP4 last Friday. It is meant to be very close to 2.0.0-beta that we are going to publish any day now. After that, we’d like to give people a few weeks to try the beta before we finalize 2.0.0.

Skip to main content