Nate McMaster

Software dev & infrequent blogger

Recent Posts

Old csproj to new csproj: Visual Studio 2017 upgrade guide

The leaner csproj in VS 2017 can save you hundreds of lines of code. What to cut, keep, and change to upgrade to VS 2017

You may have heard the buzz: .NET Core went from the project.json to csproj file format, and the new csproj format is leaner, easier to read, and adds new features. But what about your .NET Framework VS 2015 (or 2013) project? How can you participate in the VS 2017 goodness? Keep reading: I’ll show you some of the major changes, and how to upgrade to VS 2017.

Part 2 - Caveats of project.json to MSBuild conversion

To convert is to change form, function, or beliefs. There will lots of this.

This upgrade is not only a matter changing JSON vs XML: it’s about learning and using a fundamentally different technology, MSBuild. Regardless of how big or small your .NET Core project is, you are likely to run into some subtle, big, and bewildering changes to how your build system as you convert. Here is a collection of obvious and not-so-obvious caveats to the MSBuild conversion process.

Project.json to MSBuild conversion guide

If you been given the unenviable task of migrating your .NET Core project from ‘project.json’ to MSBuild (csproj), you are likely to find your muscle memory disrupted and the documentation lacking. Automated upgrades in Visual Studio and .NET Core CLI may auto-generate a csproj file for you, but they won’t tell you how to do things you already know how to do in project.json. Here is the most exhaustive list I can create of all the project.json knobs as they exist in Microsoft.NET.Sdk.

.NET Core command-line file watcher (dotnet watch) for MSBuild

Basic usage and pro-tips for using dotnet-watch with MSBuild

The most recent preview (1.0.0-msbuild2-final) of dotnet-watch supports MSBuild projects, and is the most configurable, extensible version of the tool, yet. dotnet-watch is a file watcher for dotnet that restarts the specified application when changes in the source code are detected. This tool has been available since the days of DNX with support for project.json. dotnet-watch for MSBuild adds new features that were not available in the project.json versions.

See more posts...