Kirill Osenkov

Visual Studio Team, Roslyn Services QA

Kirill's Blog

Microsoft is making some changes to this blogging platform and I decided it's time to move this blog...

Date: 06/16/2019

Announcing MSBuild Structured Log: record and visualize your builds

I’ve just published a new tool: https://github.com/KirillOsenkov/MSBuildStructuredLog It is an...

Date: 05/13/2016

Where to Download WPF Performance Suite? (Perforator, Visual Profiler)

I was having trouble finding the WPF performance tools mentioned in this blog:...

Date: 04/05/2016

Added ContentSync command line arguments

I’ve added various command line arguments to the tool I blogged about the last time. The new release...

Date: 01/23/2016

EnableVSIPLogging to show VS command info

Found an interesting trick here:...

Date: 01/19/2016

ContentSync – a content-based file copy tool

Suppose you need to sync the contents of two large folders, Source and Destination. Normally...

Date: 01/09/2016

Live Writer is open source!

All blog posts in this blog have been posted using Live Writer, a great blogging tool we’ve had for...

Date: 12/09/2015

An open-source full-fidelity XML parser

A while back I needed to understand XML at a low-level, including whitespace, line breaks and...

Date: 08/25/2015

Why is Environment.CurrentDirectory bad?

It is bad in general for various reasons, but it’s especially bad in build tools and related space...

Date: 06/16/2015

MSBuild: unnecessary rebuilds because of generated AssemblyAttributes.cs

A surprisingly common cause for unnecessary rebuilds of C# MSBuild projects is an unfortunate design...

Date: 05/12/2015

How to have a Project Reference without referencing the actual binary

Sometimes you want a project reference from project B to project A to indicate a build-time...

Date: 04/04/2015

Using a common intermediate and output directory for your solution

By default each project in a VS solution has its output directory set to bin and its intermediate...

Date: 04/04/2015

MSBuildDumper

I published a tool to print out the evaluated values of properties and items in an MSBuild project:...

Date: 04/04/2015

How to investigate Rebuilding in Visual Studio when nothing has changed

In some managed projects there’s this unfortunate behavior: you press F5 in VS, run your app, stop,...

Date: 08/04/2014

Get most duplicated strings from a heap dump using ClrMD

ClrMD is an awesome managed API to inspect managed processes and dump files. To use it, just add a...

Date: 07/05/2014

sn.exe cheat sheet

I don’t find sn.exe command line arguments particularly intuitive, and the fact they’re case...

Date: 03/25/2014

Creating an instance of an open generic type without specifying a type argument

My fellow Roslyn tester @vreshetnikov has found not one, but two ways to do the impossible: 1: using...

Date: 01/08/2014

Saving Regedit Favorites in a .reg file

Regedit.exe has a useful feature – Favorites menu, you can add an often used registry location to...

Date: 01/08/2014

Registry keys to configure Watson and automatically save full dumps locally

You might have noticed that after installing Visual Studio the behavior of crashing programs changes...

Date: 12/18/2013

Circular assembly references in the .NET framework

It was a surprise to me when I discovered that a lot of assemblies in the .NET BCL reference each...

Date: 11/23/2013

Dump MSBuild properties and items for a project

Sometimes when you’re reading a .csproj file you encounter properties like $(TargetDir) and wonder...

Date: 07/09/2013

Naming Roslyn concepts

We have a rather central component in Roslyn and we’re looking how to name it best. I’d like to...

Date: 01/21/2013

Tips on building a modern silent desktop PC?

For many years I’ve been a happy user of completely silent desktop PCs at home. I hate noise...

Date: 11/19/2012

Roslyn Code Quoter updated to work with September 2012 CTP

I’ve blogged before about the tool called Quoter that shows how to use the Roslyn Syntax APIs...

Date: 11/05/2012

Split an imagestrip into individual images/icons

If you have a large horizontal image Nx16 and you’d like to split it into individual 16x16 icons,...

Date: 10/08/2012

Roslyn September 2012 CTP is out!

You can download it here. Just like the previous CTPs, the setup is fairly non-intrusive and should...

Date: 09/17/2012

Roslyn Code Quoter tool – generating syntax API calls to generate any C# program

Whether you’ve played with the Roslyn CTP or are planning to do so in the future, chances are that...

Date: 07/22/2012

Windows Explorer Preview Pane for .vb files

I love using the Preview Pane in Windows Explorer to quickly preview file contents: Usually, to...

Date: 05/29/2012

High accuracy DateTime.UtcNow

Update: in the original version of this post I’ve jumped to an incorrect conclusion that the timer...

Date: 05/16/2012

A list of common HRESULT error codes

I was looking for error code –2146232797 (hex 0x80131623, which turned out to be what is...

Date: 05/14/2012

A Google Group for Augmented Programming

Josh Marinacci (from https://joshondesign.com) recently sparked a discussion about structured...

Date: 05/10/2012

Your Feedback about the Roslyn CTP NuGet Package?

As part of the Roslyn CTP in October 2011 we’ve published the core compiler and services binaries as...

Date: 04/15/2012

My Alma mater – BTU Cottbus in Germany

For my regular readers – this is a non-technical, non-work related post about my university BTU...

Date: 03/23/2012

New Tabula video

For those of you who follow me because of my interest in geometry, NumeracyWorks has released a new...

Date: 03/08/2012

Found my 1000th bug in Roslyn!

This might not seem like a big deal, but... Knowing that you guys won’t be seeing any of these bugs...

Date: 03/08/2012

How to change the default command prompt color on Vista and above

If you like me don’t like the default green on black in the command prompt, you can change the...

Date: 02/24/2012

VS hangs for 1 minute on start debugging? Check for dead symbol paths!

I’ve just hit this again so I decided to share the solution in case anyone else hits this. Symptom:...

Date: 01/11/2012

DateTime.UtcNow is generally preferable to DateTime.Now

This seems to be commonly known and accepted best practice to use DateTime.UtcNow for non-user...

Date: 01/10/2012

Install-Package Roslyn

I am happy to announce that the core C# and VB compiler assemblies from our first Roslyn CTP are now...

Date: 12/13/2011

Roslyn CTP

For the past year and a half or so I’ve been working on the QA team for the Roslyn project. The goal...

Date: 10/18/2011

How to get DTE from Visual Studio process ID?

DTE is an automation framework that is used to programmatically control Visual Studio, often from...

Date: 08/10/2011

How Microsoft Names Releases… And What You Can Do About It

Microsoft® SQL Server® 2008 R2 SP1 Feature Pack CTP1. Scott Hanselman wrote a blog post called...

Date: 07/28/2011

In ngen’ed assemblies, static field initializers don’t run until the field is first accessed

Interesting fact that I discovered today: usually, static field initializers run whenever the parent...

Date: 07/14/2011

Tabula

Another announcement for geometry enthusiasts today. David Hartmann, an experienced math teacher and...

Date: 05/02/2011

Live Geometry for Windows Phone 7

I was really curious to try to write an app for WP7, but I didn’t have a whole lot of ideas. It’s...

Date: 04/25/2011

Improved HTML Copy in the latest Productivity Power Tools

Executive summary: HTML Copy is an extension for Visual Studio 2010 (part of Productivity Power...

Date: 03/27/2011

Running .NET applications in-process using AppDomains

When testing a compiler for a managed language a very convenient end-to-end testing technique is to...

Date: 02/13/2011

Fix available for the VS 2010 context menu scrolling issue

https://blogs.msdn.com/b/visualstudio/archive/2010/10/14/hotfixes-available-for-scrolling-context-men...

Date: 10/14/2010

Next>