Zero To Hero & So You Want To Create Your Own .NET Runtime?




Zero to hero & So you want to create your own .NET runtime?

6 February 2019


Added 01-Jan-1970

Zero to hero: Getting started with unit testing in ASP.NET and MVC

We all know that we should be unit testing. We all know that “real” devs only ever do TDD. We all know that’s spurious! There are lots of companies who are stuck in the terrible limbo between wanting, and having, a unit tested solution.

In this talk we will be crossing that most perilous first bridge, “where do I even start”. I will be doing worked examples of basic techniques and practices to take a simple class/service, a basic ASP webforms page and a simple MVC controller from untestable, to tested, using Nunit, Design By Contract (DBC) and DotCover.

Remember, a few good automated tests, is always better than none.

Adam Garner

Adam is a Senior Software Developer with formerly EposNow. Now in his 6th year of professional software development, Adam has had the chance to work with and study under some of the best and most bleeding edge tech enthusiasts. A proponent of unit testing and lifelong learning, Adam is deeply enthusiastic about increasing developer confidence in the products they are creating. Adam has worked in tested, untested, TDD, BDD, SOLID and free for all environments and has learned the importance of knowing when to test, and when not to!

So you want to create your own .NET runtime?

Running C#/.NET code is something we do all the time. But how does the .exe/.dll file produced by the compiler actually get executed? What's going on inside the dotnet/Mono runtime? How hard could it be to write your own .NET runtime instead? And can it be done in just one hour?

Chris is one of the few people who has written a .NET runtime; albeit inefficient, arguably pointless and now definitely obsolete. In this session we will attempt to code from (almost) nothing to an interpreted .NET runtime that is capable of executing a very simple .NET application; giving some insight into the inner workings of .NET.

This will be based on the DotNetAnywhere runtime that Chris wrote many years ago:

Chris Bacon

Chris is a Software Engineer working on C#/.NET support for Google Cloud Platform. He is mainly focused on existing and new .NET gRPC client libraries.