Making Open Work
May 8–9, 2017: Training & Tutorials
May 10–11, 2017: Conference
Austin, TX

Writing modern .NET open source libraries

Stephen Cleary (Learning Machine)
5:05pm5:45pm Wednesday, May 10, 2017
Adopt This Now
Location: Ballroom F
Level: Beginner

Who is this presentation for?

  • Software developers

Prerequisite knowledge

  • An understanding of .NET and NuGet basics (Examples will be in C#, but deep C# knowledge is not required.)

What you'll learn

  • Explore .NET Core, NetStandard, and NuGet
  • Learn how to provide the best debugger experience possible


Stephen Cleary covers everything technical you need to know about writing .NET open source libraries that support the latest platforms, including NetStandard targets, NuGet, continuous deployment, and source-level debugging.

Steve starts with a discussion of the current landscape of .NET open source, with a particular examination of how .NET Core (and NetStandard) impacts library design. We’ll examine .NET Core mainly from the library developer perspective but also consider the platform developer and application developer perspectives. Steve then covers modern tools and techniques you can use today in your .NET open source projects. NuGet is a given for .NET. Steve explores how NuGet supports .NET Core and shares tips for working with continuous integration and deployment systems (using AppVeyor, for example).

Steve concludes by looking at the current state of debugging .NET open source libraries, reviewing the standard SymbolSource approach as well as newer approaches such as GitLink and demonstrating how to ensure that the consumers of our packages can do so with the greatest of ease. You’ll leave with a firm understanding of the best practices and future direction of modern .NET open source libraries.

Photo of Stephen Cleary

Stephen Cleary

Learning Machine

Stephen Cleary is a senior software engineer at Learning Machine. Steve is a Christian, husband, and father who programs software in his spare time. His work usually deals with asynchronous and multithreaded programming, but he finds any challenging subject interesting. These days he uses C# and JavaScript but remains interested in many different languages. Steve is a Microsoft MVP and the author of Concurrency in C# Cookbook (O’Reilly) as well as several MSDN articles. He’s also the top answerer for async/await questions on Stack Overflow.