Migrating a .NET Core project to the .csproj format

The dotnet 1.0.1 tooling includes a tool called dotnet-migrate.

Just run:

$ dotnet migrate

More info here at the Microsoft Docs here.
But it dint work for me. This is what I got:

$ dotnet migrate
No executable found matching command "dotnet-migrate"

I tried re-updating dotnet by downloading the latest setup (v1.0.1) from here, but it din't help either.

That's when I happened to run dotnet --info from the project directory:

$ dotnet --info
.NET Command Line Tools (1.0.0-preview2-1-003177)

Product Information:
 Version:            1.0.0-preview2-1-003177
 Commit SHA-1 hash:  a2df9c2576

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  10.11
 OS Platform: Darwin
 RID:         osx.10.11-x64

Notice the version? It's still using the old tooling.
However running it from ~ showed this as I'd expect:

$ dotnet --info
.NET Command Line Tools (1.0.1)

Product Information:
 Version:            1.0.1
 Commit SHA-1 hash:  005db40cd1

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  10.11
 OS Platform: Darwin
 RID:         osx.10.11-x64
 Base Path:   /usr/local/share/dotnet/sdk/1.0.1

That's when I realized the culprit. The project had a global.json file with the old SDK version in it.

All I had to do was update the SDK version in it to 1.0.1:

{
  "projects": [ "." ],
  "sdk": {
    "version": "1.0.1"
  }
}

And everything worked as expected.

Galdin Raphael

Galdin Raphael is an independent full stack developer from Mumbai.

Subscribe to Galdin's Blog

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!