Build failures in Visual Studio 15.6.3? ReSharper Ultimate 2017.3.5 to the rescue!

Have you been experiencing build failures in your multi-targeted project after installing Visual Studio 15.6.3 with .NET Core SDK 2.1.102 (related YouTrack ticket and dotnet issue on GitHub)? The last few days we have worked tirelessly, burning all the midnight oil, to be able to bring you something to end your problems. It’s ReSharper Ultimate 2017.3.5 to the rescue!

Let’s now look under the hood to figure out why this issue has happened.

Continue reading

Posted in How-To's | Tagged , , , , | 5 Comments

Roslyn analyzer support in Rider 2018.1 EAP

Roslyn analyzers in JetBrains RiderWhile writing code, Rider performs code analysis and helps us spot any errors, problems or potential improvements. With over 2.400 code inspections that come from ReSharper and WebStorm, Rider helps us improve code quality in every language it supports (C#, VB.NET, F#, HTML, JavaScript TypeScript, CSS, …).

The latest Rider 2018.1 EAP build goes one step further and adds Roslyn analyzer support as a new (experimental) feature! Let’s see!

Why Roslyn support in Rider?

Many open source projects as well as development teams are writing their own analyzers to provide additional tooling for the frameworks they build. For example the xUnit.net folks have a set of Roslyn-based analyzers that help with things like making sure Fact methods do not have parameters – often combined with a code fix as well.

Using xUnit analyzers in JetBrains Rider

By adding Roslyn support to Rider, developers now get the best of all worlds! Not only will you get the 2.400+ inspections and quick fixes from ReSharper and WebStorm, you can now get community fixes from Roslyn analyzers! Continue reading

Posted in How-To's | Tagged , , , , , , , | 13 Comments

dotCover 2018.1: Better continuous testing and more!

In this 2018.1 release, dotCover is by far the product that has received the most changes in the whole .NET tools lineup. These include:

  • Continuous testing with new modes available in any unit test session,
  • Coverage analysis improvements including a new Unit Test Coverage window, real-time filters, and others,
  • Console runner support to analyze coverage of web applications, and more.

We’ll leave the latter for a separate post, and focus on updated continuous testing and coverage analysis improvements.

Continuous testing. Now in any session!

So, what exactly has changed in continuous testing? First of all, there are no more separate continuous testing sessions. This is a big game changer: now, any session can be switched to the continuous testing mode. Continue reading

Posted in How-To's | Tagged , , | 4 Comments

ReSharper 2018.2 will require .NET Framework 4.6.1

TL;DR: ReSharper 2018.2 will require having .NET Framework 4.6.1 installed.

Starting with the next ReSharper 2018.2 release, we will require having .NET Framework 4.6.1 installed on your machine. Earlier versions of ReSharper will continue to work on .NET Framework 4.5.

Why is this changing?

With the .NET Framework evolving rapidly in the past years and Microsoft having stopped support for .NET Framework 4, 4.5 and 4.5.1 over two years ago, updating the required .NET runtime for ReSharper is a logical next step.

Newer versions of the .NET Framework come with numerous improvements, such as performance, security and Windows Presentation Foundation updates. The NuGet client SDK used by ReSharper also requires .NET Framework 4.6 or higher. Making use of the newer, modern runtime brings along these improvements and will greatly benefit our users and opens up new possibilities!

Thanks to this upgrade, the ReSharper codebase can now target .NET Standard 2.0 (and .NET Core), so that for example our Command Line Tools and Remote Profiling Tools will eventually no longer require a full .NET Framework installation at all. This also helps our (non-UI) tools to run on Linux and Mac OS X with better quality. The future is bright!

What does this mean for me?

Continue reading

Posted in How-To's | Tagged , , , , , , | 7 Comments

Non-trailing named arguments in ReSharper 2018.1 EAP

Whenever we pass a value to a constructor or method, named arguments can help clarify to which parameter an argument is being bound. Being quite helpful most of the times, it had one downside by times: argument names had to be added for all following arguments as well, simply to make the compiler happy. This was fixed with non-trailing argument names in C# 7.2 and we added full support for this in ReSharper 2018.1 EAP. Let’s explore what named arguments can do for us!

Improve readability

Especially for literals like true, false, null, numbers and strings, it is often hard to tell what they do. Consider this snippet:

Looking at these invocations, it’s difficult to say what those literals actually mean. 1000 and two times true? What’s that for? We could use something like Go To Declaration (F12), ParameterInfo (Ctrl+Shift+Space) or even debugging to find out, but that’s not very convenient. Since C# 4 we can use named arguments, which is a zero-effort-solution for future readers of our code.

One major drawback since C# 4 was that whenever we wanted to add the argument name for a single argument, all following arguments had to have their name added as well. Writing cancellationToken: cancellationToken is not providing us with many benefits but language noise. With the release of C# 7.2 we can make use of non-trailing named arguments and add the name only at the positions we really want. However, they still must occur in their correct position, so that the compiler can figure out to which parameter it should be bound:

If you experience any syntax errors given the example above, you may need to adjust our language version. Continue reading

Posted in How-To's | Tagged , | 3 Comments

Working with Data in Rider

In previous blog posts in this series, we looked at connecting to a Microsoft SQL Server and getting familiar with the features in Rider 2017.3 to work with SQL databases. In this final post in our series, we will look at how to query and work with the data in the tables in our database.

This post is part of a series around working with databases and data in Rider:

(Note: we’ll use the Visual Studio keymap on Windows throughout this post – check the web help for Mac OS X and other keyboard schemes)

Querying Data

To work with the tables in your database, you will need to open the View | Tools Windows | Database menu selection to view the details of your database or use Ctrl/Cmd+T or a double Shift and then type “database” to get the window. Continue reading

Posted in How-To's | Tagged , , , | 1 Comment

Working with Tables and Indexes in Rider

In previous blog posts in this series, we looked at connecting to a Microsoft SQL Server and getting familiar with the features in Rider to work with SQL databases. In this blog post, we will look at how to work with a database to create tables and indexes.

This post is part of a series around working with databases and data in Rider:

(Note: we’ll use the Visual Studio keymap on Windows throughout this post – check the web help for Mac OS X and other keyboard schemes)

Creating/Modifying a Table

To create or work with existing tables in your database, you will need to open the View | Tools Windows | Database menu selection to view the details of your database or use Ctrl+T or a double Shift and then type “database” to get the window.

Expand the tables view in the Database window and right click to create a new table.

create a new table Continue reading

Posted in How-To's | Tagged , , , | 2 Comments

Getting started with database support in Rider

If you are new to using Rider, it’s worth mentioning that you get all the .NET features of ReSharper, along with the web development features of WebStorm, which provides the developer with great overall experience. What’s more, you also get all the data features of DataGrip as well, so you have a single IDE to work with for all facets of your project work!

In this blog post, we will look at setting up the database connection and running some queries against our database.

This post is part of a series around working with databases and data in Rider:

(Note: we’ll use the Visual Studio keymap on Windows throughout this post – check the web help for Mac OS X and other keyboard schemes)

Working with the Database Tool Window

To work with data in Rider, you will need to use the Interacting with Data Tool Window and the Database Console.  We will look at the Database Console later, but let’s start with the Database Tool Window. There are two ways to find and open this part of the Rider interface. The first is to open the View | Tools Windows | Database menu selection.

The Database Tool Window will allow you to create a Data Source to connect to a database.

Database Tool window Continue reading

Posted in How-To's | Tagged , , , | 5 Comments

Configuring SQL Server 2017 for Rider

Rider is not only a great .NET IDE, it also is a wonderful tool for working with databases that are associated with .NET Core solutions. Many .NET Core developers use Microsoft SQL Server on their laptops; more specifically, the Developer edition of the database server tool. Let’s start a series of blog posts about Rider’s database tools (powered by DataGrip)!

Before you can start using Rider with a SQL Server database, you may discover that you must configure SQL Server 2017 to allow Rider to connect through a TCP port which is not set up at install. In this post, let’s look at configuring SQL Server 2017 Developer Edition to allow Rider to work with the server and databases.

This post is part of a series around working with databases and data in Rider:

Continue reading

Posted in How-To's | Tagged , , , | 2 Comments

Run web site projects, edit file properties and more project model updates in Rider

The latest Rider 2018.1 EAP build comes with a number of updates to the project model. It’s now possible to open and run web site projects (you know, those projects that are just folders), file properties can be edited for .NET Core, and we’ve improved handling of several MSBuild and project properties. Let’s see!

Open and run web site projects

The .NET world has two types of web projects: we can create a Web application, which has a project file, full MSBuild support, etc., and there’s the Web site “project”, which doesn’t have a project file, has less MSBuild options available but can be xcopied to a server without pre-compiling on our local machine or a build server.

We’ve always supported web application projects, and the latest Rider 2018.1 EAP build adds support for web site projects as well. We can open a solution that contains a web site project, and then start developing, running and debugging.

Work with web site project in Rider

Just like with full-blown web application projects, we’ll get all Rider features like navigation, refactoring, code analysis etc.

Continue reading

Posted in How-To's | Tagged , , , , | 5 Comments