In Visual Studio, Entity Framework commands like Add-Migration and Update-Database are typically run in the Package Manager Console. This works great, but unfortunately, it isn’t very portable. These commands are PowerShell-based, and the Package Manager Console ties to several Visual Studio-specific objects making it impossible to host it elsewhere.

No need to worry, though! With Entity Framework Core, Microsoft provides command line tools that work cross-platform, which in this case means in any IDE on any supported operating system. Let’s see how to get started!

Today, a certain cross-platform .NET IDE hits its greatest milestone so far: Rider 2017.1 RTM is now available for download and purchase. If you’re an All Products Pack subscriber, the license covers Rider: just start using it right away.

What is JetBrains Rider

If you haven’t been following closely, here’s a quick summary of Rider.

With this Release Candidate, we’re taking a big step towards Rider’s first release, we’re almost there. The RC is a release configuration build, which means you shouldn’t be seeing any exception collection/reporting activity in the status bar (although exceptions, if any, will still be logged for support purposes.)

In terms of functionality, we’ve improved performance, refactorings and Unity support, enabled more WebStorm features, worked on the debugger, added VB.NET typing assists, implemented NuGet private feed authentication and fixed several bugs. Let’s have a look!

We have a new Rider EAP build for you today. Highlights of this build include performance and memory consumption fixes, Unity support improvements, and F# Interactive, accompanied by a few dozens of bug fixes.

There’s a new Rider EAP build available for download, and it’s full of changes, large and small, including Code Cleanup, new project and solution settings, VB.NET project templates, F# unit testing, an updated console, per-framework Solution Wide Analysis results, as well as hundreds of bug fixes.

However, one thing clearly stands out:

.NET Core debugger is back on Mac and Linux

Back in February, we were forced to temporarily disable .NET Core debugging due to a licensing issue (for a recap, here’s what happened). Restoring the functionality on Windows was fairly straightforward (it only took us one week); Mac and Linux, not so much.

Finally, following a few months of reading, writing and debugging code, scratching heads, testing and fixing, we’re ready to roll it out: you can debug .NET Core on OS X and Linux again.

Are you having issues installing ReSharper in the last few days? Does the ReSharper installer complain that it doesn’t find any zones exactly matching 15.something?

If this is what you’re seeing, then get ReSharper Ultimate 2017.1.3. Looks like that the latest Visual Studio 2017 Preview (15.3) has changed its internal versioning, which affected stable Visual Studio versions installed on the same machine, which ReSharper had no way of being aware of. With this ReSharper update, the problem should be gone.

Other than a fix to the installer issues, there’s essentially nothing else in this update: if you have not installed and are not planning to install a Visual Studio 2017 Preview build, then you can safely skip this ReSharper update.

ReSharper Ultimate 2017.2 Early Access Program is now underway: you are welcome to download and install the latest builds of ReSharper, ReSharper C++, dotCover, dotTrace, dotMemory, dotPeek, as well as various command-line packages that we provide.

So far, version 2017.2 mostly incorporates changes to ReSharper and ReSharper C++. For example, the new ReSharper starts to support C# 7.1, TypeScript 2.3 and Angular 4, has its code completion optimized, offers various navigation improvements, and adds more language injections. ReSharper C++ 2017.2 introduces support for extended friend declarations from C++11, selection statements with initializer from C++17, and more language features.

In my opinion, the best features are just a checkbox that enables powerful scenarios. Rider has features like this, and one of them is called incremental build. Behold!

Incremental build reduces the time needed to build a solution by only building projects that need updating. This helps us stay “in the zone”: the quicker we can rebuild a solution, the quicker we get compilation feedback, the quicker we can run unit tests, the sooner we can move on to working and improving our code.

We’ve seen the checkbox, now let’s look behind the curtains and find out how incremental build works!