RSSAmplifier

Blog

Blog - Will Fuqua

fuqua.ioRSS feed ↗10 posts

Latest posts

Injecting a C# REPL into a running .NET process

I ve been building CSharpRepl on and off for about five years. It s a command-line REPL for C# with syntax highlighting, intellisense, and NuGet package support. A recent addition lets it connect to another already-running . NET process and evaluate C# inside it. Unlike a debugger, which pauses the process …

New major release of CSharpRepl 0.4.0

I m happy to announce a new major release of CSharpRepl , a cross-platform command-line REPL for C#. This release is special because it almost entirely consists of contributions from the open-source community! In this post we ll walk through a few of the new features. If you haven t heard …

Enabling Command Line Completions with dotnet-suggest

I recently removed the hand-written command line parser from C# REPL and replaced it with the more standard System.CommandLine NuGet package. As part of this, it gained dotnet-suggest support. I couldn t find much online discussion about dotnet-suggest, so I m jotting down some notes here. There are two …

Analyzing Code Quality with LINQ and NDepend

I ve been building an open-source personal project ( C# REPL ) and spending a good chunk of time on code quality. I self-impose a zero-warning policy, use nullable reference types, track unit test coverage, etc. After ensuring all the Visual Studio / Roslyn code analyzer warnings were fixed, I thought I d …

Tips for using the Windows Command Line effectively

Although the command line experience on Windows has historically been less than stellar, the last few years have seen rapid improvement. In this post, I ll cover three main areas of improvement: The new Windows Terminal Running PowerShell Core Developing with Windows Subsystem for Linux In case you re familiar …

A Lesser-Known C# Feature: Nested Object Initializers

I ve been writing C# for quite some time now, but only recently found out about the nested object initializers syntax in C#. Nested object initializers elegantly solve problems for which I ve previously used workarounds. It s not a new feature; it was introduced in C# 3.0, under …

Microsoft Build 2020 – Highlights for .NET Developers

Over the course of the last three days, Microsoft Build 2020 released a flood of news and announcements. For those of us who follow the . NET ecosystem, it can be difficult to wade through them all! I ve collected a list of announcements that I think are interesting as a …

Native Websockets with Blazor WebAssembly

A couple of days ago, Blazor WebAssembly 3.2.0 Preview 1 was released ( announcement ). I m personally excited about this release because it s the first Blazor release that contains native support for client-side websockets! Previously, if you wanted to use websockets, you either had to write your own …

.NET Conf Thailand 2019

. NET Conf Thailand 2019 was a huge success, thanks again to Jose Barbosa and Theeranit (Aaron) Pongtongmuang . I was invited to speak, and I covered the new features in C# 8.0. There are a ton! Nullable Reference Types Async Enumerables Recursive Patterns Indices and Ranges Default Interface Members Static …

Troubleshooting Assembly Binding Issues in .NET

If you ve developed . NET for any length of time, chances are you ve run into a gnarly error like this: System. IO .FileLoadException: Could not load file or assembly AcmeCorp.Foobar.Utilities, Version=1.2.0, Culture=neutral, PublicKeyToken=367d582291c765f7 or one of its dependencies. The located assembly s …