DotVVMToday I'm excited to welcome DotVVM to the .NET Foundation.

DotVVM is an MVVM framework for ASP.NET Core and OWIN. The DotVVM project has been under active development for almost 5 years. In addition to providing some nice productivity features through MVVM development and controls, it also offers an incremental upgrade path for ASP.NET Web Forms applications through the DotVVM Adapter for ASP.NET WebForms.

I first worked with Tomáš and the DotVVM team when they participated in the .NET Summer Hackfest in 2017. The DotVVM team really jumped in, hosting a really productive in-person event with the PeachPie team in Prague

Read more on the DotVVM project's announcement post.

Here's the March edition of the .NET Foundation newsletter! Every month, we'll give you a quick overview of the .NET Open Source landscape, including top project news, events, community links and more.

This month's newsletter includes:

  • .NET Foundation Election Results Are In!
  • Membership Is Still Open
  • Visual Studio 2019 launches on April 2nd!
  • News from .NET Foundation member projects
  • .NET Meetup news

As always, these are available both on our blog and via e-mail: Sign up to get the .NET Foundation Update via e-mail

.NET Foundation Election: Results Are In!

Our first ever .NET Foundation board member elections wrapped up on March 28! Meet the new board!

The new community elected board will direct the .NET Foundation completely: what projects join, how to support them, how the .NET Foundation interacts with the open source community, etc. So it's great to have such an amazing group of open source .NET heroes in charge!

This was an incredibly competitive race, with 45 very qualified candidates competing for 6 open positions (Beth Massi is Microsoft's one appointed board member, the rest are all elected by .NET Foundation Members.

Please take some time to get to know these candidates by looking through their campaign statements and becoming familiar with their goals for this next year. We'll be working to turn these into concrete plans, and will let you know both what we're doing and how you can get involved.

Speaking of getting involved...

Membership Is Still Open

We encouraged the community to join the .NET Foundation to participate in the election. If you haven't yet, it's still worth doing, and we'd love to have you. Membership is open year-round, and our members will be part of the team that executes on our next step.

Apply for .NET Foundation Membership

Visual Studio 2019 launches on April 2nd!

.NET Foundation is a sponsor of the Visual Studio 2019 launch event happening on April 2nd. Tune in to watch some great sessions from the people that build Visual Studio. Many of our awesome .NET meetups are also organizing around the globe to bring you local, in-person launch events between April 2nd and the end of June. Join your fellow developers in a city near you to learn more about Visual Studio 2019 and have some fun! Thank you to all our organizers!

.NET Foundation Project Updates

NUnit: Lots of releases!

NUnit VSTest adapter 3.13 was released. This release introduces the ability to produce NUnit result XML.

NUnit Console and Engine 3.10 were also released, bringing lots of new functionality to .NET Standard platforms with a new .NET Standard 2.0 build in the main engine package. A new `--testparam` console option supersedes `--params` in order to allow test parameters to contain semicolons. These are just two of a myriad of fixes and enhancements.

We have even more releases for you! The NUnit VS Test Generator and NUnit VS Template extensions have been released with support for VS2019, and NUnit’s TeamCity Event Listener 1.0.6 was also released with improvements including support for test metadata and suite patterns.

Steeltoe 2.2.0 Released!

Steeltoe 2.2.0 is now GA! Lots of new features around management endpoints, service discovery, configuration, client-side load balancer, connectors, and other improvements. Here is an excellent blog post from David Dieruf breaking down the newest features: Steeltoe 2.2 Gives Your .NET Microservices a Boost.

Orleans 2.3.0: ASP.NET Core Hosting API support and More!

Orleans 2.3.0 was released with the hosting APIs aligned with ASP.NET Core, EventHub dependency update, automatic cleanup of cluster membership table, hosted client enabled by default, Linux CPU/memory statistics, and other improvements and fixes.


Our .NET Foundation sponsored .NET Meetup Pro groups have grown tremendously this past month! Here are some quick stats:

  • 281 Groups (+26 from the past month!!!)
  • 529 Countries (+7 from the past month!!!!)
  • 188K Members (+17K in the past 90 days!!!!!!)

We've also started sending newsletters to Meetup organizers, including some links for some free swag for their groups. If your meetup hasn't joined yet, you can right here.

Connect with the .NET Foundation online

The .NET Foundation is on Facebook now. Please like our page! We’ll post regular updates and interesting things happening with .NET to share.

The .NET Foundation is also on YouTube. Watch community standups and design reviews as well as code-focused shows and interviews across our multiple playlists.

Remember to Subscribe!

Please sign up to get the .NET Foundation Update via e-mail. Don’t worry, we want to keep these short, interesting, and low-noise, so we won’t overload your e-mail.

The results are in, meet your newly elected board!

Election Wrapup

This was an incredibly competitive race, with 45 very qualified candidates competing for 6 open positions (Beth Massi is Microsoft's one appointed board member, the rest are all elected by .NET Foundation Members.

This election was conducted using Single Transferable Vote (Scottish Rules). It's widely regarded as the most fair methodology, but can be a little complex to understand. Fortunately, the voting system we used (OpaVote, highly recommended) provides a pretty clear, visual breakdown on the voting results page. The voting results page also allows you to download summary data and (anonymous) ballots.

There's more information about the campaign and election process on our previous post, ".NET Foundation Elections Closing Soon! Here's the FAQ to help you cast your vote."

Next steps on this include a small bit of paperwork for the incoming board to accept the appointment, and for the outgoing board to sign off on the election, appoint the new board, and resign their previous position. That's all pretty straightforward, and I hope to have that wrapped up within a week. Which is good, because we want to keep up the...

Community Momentum

The candidates have built up an active community on our Election Gitter chat, pitching in with Election site improvements, candidate interviews (here and here), and lots of great ideas. We're planning to carry that excitement forward. We have 6 new board members, but this is a much bigger change than that - we also now have several hundred new .NET Foundation members worldwide, and many are looking to get more involved. Our plan is to scale using both our new board and our new members to involve the whole community in all areas of .NET Foundation work: project onboarding and support, Meetup and speaker initiatives, open source evangelism, outreach to new communities, etc., as the new board sets the priorities. We're just getting started!  

Membership Update

Unsurprisingly, we saw a lot more membership applications as the elections kicked off. As of today, we're at 715 .NET Foundation membership applications, 477 accepted. The huge majority of those that didn't qualify had only Name / E-Mail / GitHub username, no contributions listed. Some of this is due to lessons learned on our part as we're working to more clearly explain the application process, especially as the message goes worldwide and and hits new developer circles. Every application has been responded to with acceptance or specific feedback on contribution links. 

Our first ever open board member elections close on March 28 at 12 PM Pacific time! We have a good problem: over 40 candidates competing for 6 open board seats. Here's the information you need to get your vote in before the deadline.

The Top 3 Things You Need To Know

1. Voting is open to all .NET Foundation Members.

If you're not a .NET Foundation Member yet, you can apply here.

Membership is open to anyone who has contributed to the .NET open source community. That includes code contributions to any .NET Foundation project, but it also includes speaking, blogging, organizing events and meetups, and writing docs. If in doubt, apply!

If you have applied and are haven't heard back, or want to check on status, contact us at contact at dotnetfoundation dot org. The vast majority of disqualified applications just had name, e-mail, and GitHub username with no links or statement - if that's you, e-mail us with more information on how you contribute to the .NET community.

2. Your ballot was delivered via e-mail.

Members have all been sent an e-mail with a voting link. New members are being sent a separate voting link after acceptance. The e-mail will have the subject line ".NET Foundation Board of Directors – 2019". If you're a member and don't see that e-mail, check your spam, then contact us at contact at dotnetfoundation dot org.

3. Use the voting resources to pick a great team.

It's very important that you approach this with the view of picking a team. We highly recommend that you pick a diverse group that represents the whole community. A really effective board will represent gender, racial, geographic, age, and experiential diversity. We are extremely fortunate to have a great selection of candidates that can work together and bring all of those different viewpoints!

This will take some work on your part, though - you'll need to get to know the candidates. Here are some resources:

More Details and FAQ:

  1. The election uses Single Transferable Vote (Scottish rules). There are 45 candidates (!) and you can rank as many as you want. The order matters. For more details, see the results of our mock election. I'm really impressed with OpaVote's efforts to graphically explain how the STV rules are applied:

  2. As you can see from the above mock election results, the ballots are available for download (anonymized, of course). That will allow anyone to audit and analyze the votes, while preserving voter confidentiality.
  3. Here are the current voting stats. I don't have access to the results until the election ends on Thursday, March 28, 12 PM Pacific time, and I think that's a good thing.

    .NET Foundation Voting Stats as of March 26, 2019

  4. The deadline to declare as a candidate in the election has passed (Mar 21 12 PM Pacific time). If you'd wanted to apply and missed the deadline, the good news is that elections run every year, so you'll have another chance soon!
  5. The rules prohibit more than two employees from any company from occupying a board seat, and we have two Microsoft employee candidates (in addition to the Microsoft appointed board seat member, Beth Massi). That means that if both are elected, we'll disqualify the one who has the least votes and recount the results. The voting system has provisions for this kind of thing.
  6. Candidates are allowed to, and encouraged to, vote.
  7. We're interested in how we can improve this election process next year. Feel free to e-mail, log issues on the election site, or chat with us in the election Gitter.
  8. Thanks to the community for chipping in to help with these elections! Special thanks to Spencer Schneidenbach and Andrew Hoefling for getting so many interviews done so quickly, and to Sean Killeen and Khalid Abuhakmeh for their help with the election website.

Today, I'm happy to announce that MiniProfiler for .NET, StackExchange.Redis, protobuf-net, and Sign Service are joining the .NET Foundation!

MiniProfiler for .NET

MiniProfiler for .NET is a simple but effective mini-profiler for ASP.NET (and Core) websites.


StackExchange.Redis is a high performance general purpose redis client for .NET languages (C# etc). 


protobuf-net is a contract based serializer for .NET code, that happens to write data in the "protocol buffers" serialization format.

Sign Service

Sign Service aims to make it easier to integrate Authenticode signing into a CI process by providing a secured API for submitting artifacts to be signed by a code signing cert held on the server. It uses Azure AD and Azure Key Vault's HSM for security. We've been using Sign Service for years behind the scenes to code sign many of our .NET Foundation projects, this is just making it official.