MSBuild: unnecessary rebuilds because of generated AssemblyAttributes.cs
A surprisingly common cause for unnecessary rebuilds of C# MSBuild projects is an unfortunate design in a part of MSBuild tooling that deals with generating AssemblyAttributes.cs. See for example this...
View ArticleWhy is Environment.CurrentDirectory bad?
It is bad in general for various reasons, but it’s especially bad in build tools and related space (like CI servers and such). MSBuild could have had fine-grained parallelism where it could execute...
View ArticleAn open-source full-fidelity XML parser
A while back I needed to understand XML at a low-level, including whitespace, line breaks and comments. While XLinq is a fantastic and powerful library, it does lack a few things, for instance I...
View ArticleLive Writer is open source!
All blog posts in this blog have been posted using Live Writer, a great blogging tool we’ve had for years. However it stopped evolving in recent years and I almost lost hope… but! I’m now posting this...
View ArticleContentSync – a content-based file copy tool
Suppose you need to sync the contents of two large folders, Source and Destination. Normally robocopy *.* Source Destination /MIR does the job. However even if the byte content of a file didn’t change,...
View ArticleEnableVSIPLogging to show VS command info
Found an interesting trick here: http://blogs.msdn.com/b/dr._ex/archive/2007/04/17/using-enablevsiplogging-to-identify-menus-and-commands-with-vs-2005-sp1.aspx Run this .reg file: Windows Registry...
View ArticleAdded ContentSync command line arguments
I’ve added various command line arguments to the tool I blogged about the last time. The new release is here: https://github.com/KirillOsenkov/ContentSync/releases/tag/v1.1 Now you can customize what...
View ArticleWhere to Download WPF Performance Suite? (Perforator, Visual Profiler)
I was having trouble finding the WPF performance tools mentioned in this blog: https://blogs.msdn.microsoft.com/jgoldb/2008/09/26/updated-wpfperf-performance-profiling-tools-for-wpf/ I had to ask...
View ArticleAnnouncing MSBuild Structured Log: record and visualize your builds
I’ve just published a new tool: https://github.com/KirillOsenkov/MSBuildStructuredLog It is an MSBuild logger that can be passed to MSBuild during a build and it records information about everything...
View ArticleKirill’s Blog
Microsoft is making some changes to this blogging platform and I decided it's time to move this blog to my own website that I fully control. It will probably take time for me to re-establish my blog...
View Article