JetBrains Rider 2020.2 Help

Create and Open Projects and Solutions

Create projects and solutions

You can create a new project in a new solution using File | New... or add a new project to the existing solution by right-clicking the solution or solution folder node in the Solution Explorer, and choosing Add | New Project.

When creating a new solution or project, Rider gives you a number of pre-installed templates, which are grouped by frameworks. There are templates to create an empty project, standard .NET class libraries and applications, as well as test projects. It will also create .NET Core projects, as console applications, testing and class libraries.

In every template, you can specify a number of options:

  • Solution/project name and folder

  • An option to create a Git or Mercurial repository

  • Language to use — many templates support C#, VB.NET and/or F#

  • Target framework for the project. Note that for a framework to be available from this list, it has to be installed on your system.

  • For Unity and Xamarin, several other options can be provided as well, for example the path to UnityEngine.dll, the target platform (Android or iOS), the type of app (blank, Android Wear, ...) Note that these options, too, depend on available frameworks on your system, such as the Mono/Android versions installed.

When you have specified the project options, just click Create. Once a project has been created, files can be added or removed by right-clicking on the project node in the Solution Explorer.

Install custom project templates

Rider supports the template system used by the .NET tooling dotnet new, which allows you to use project templates from the dotnet templates gallery as well as custom templates that you can create on your own.

There are two ways to install new project templates.

  • You can run dotnet new --install [template package] in the command line, where [template package] is the template id from the dotnet templates gallery.

  • In the New Project/ New Solution dialog, click More Templates on the left, then click Install Template, and then choose a folder or a package file with the custom project template.
    When the path to the template appears in the list, click Reload.

Create custom project template

  1. Create a project with the desired structure. You can take any project as a starting point or create a new one using any of the existing templates.

    To illustrate this, we take the simplest project that contains just one file.

    ConsoleAppAsyncMain ├── bin ├── obj ├── MyProject.csproj ├── Program.cs

    Program.cs contains async main method as the default application entry point:

    using System; using System.Threading.Tasks; namespace MyProject { class Program { static async Task Main(string[] args) { Console.WriteLine("Hello World!"); } } }
  2. Copy the project folder to a location from which you will use it as a template.

  3. Remove bin, obj, and any other directories and fies that are not related to the source code of the template.

  4. In the copied project directory (which is now the template directory), add a folder named .template.config and a file named template.json inside it.

    Now the the template structure should look as follows:

    MyTemplates ├── ConsoleAppAsyncMain ├── .template.config ├── template.json ├── MyProject.csproj ├── Program.cs
  5. Specify template properties in the template descriptor template.json

    The minimal descriptor can look as shown below, but you can provide a much more detailed configuration if necessary. You can find more information and examples in this Microsoft .NET Blog article.

    { "author": "Your Name", "name": "Async Main Console Application", "description": "A project for creating a command-line application that can run on .NET Core on Windows, Linux and macOS, and has an async Main method.", "identity": "YourName.ConsoleApp.1.0", "shortName": "consoleasync", "tags": { "language": "C#", "type": "project" }, "sourceName": "MyProject", "symbols": { "Framework": { "type": "parameter", "description": "The target framework for the project.", "datatype": "choice", "choices": [ { "choice": "netcoreapp2.0" }, { "choice": "netcoreapp3.0" } ], "defaultValue": "netcoreapp2.0" } } }
  6. Properties in the above configuration are self-explanatory, except "sourceName": "MyProject".
    When you create projects using this template, the value of this property will be replaced everywhere with the name you specify for the new project.

    In our example, the new name will replace the project file name and the namespace in Program.cs.

  7. Your new project template is ready, you can install it in the New Project/ New Solution dialog — click More Templates on the left, then click Install Template, and then choose the ConsoleAppAsyncMain folder wherever you saved it.
    When the path to the template appears in the list, click Reload.

  8. As soon as the template is installed, you can find it in the list on the left and use it to create new projects:

    JetBrains Rider: Creating new project using custom project template

Open existing projects and solutions

To open an existing project or solution, choose the corresponding item on the welcome screen. Existing solutions are listed in the left pane. You can search the list in case you have a lot of solutions — just start typing the solution name and a search field will appear.

JetBrains Rider welcome screen

If Rider is already running, press Ctrl+Shift+O or choose File | Open | Solution or Project... from the menu, or alternatively, choose one of the resent solutions under File | Open.
When opening a project, Rider will generate an .sln file if necessary.

Another option to open a solution is to press Ctrl+O or choose File | Open | File or Folder from the menu and then select a folder with the desired solution or any folder up in the directory hierarchy. In this case, you will be able to choose any of the solution files located in the selected folder or in any of its subfolders.

Rider also allows opening a project from source control. It can, for example, log in to GitHub, and clone a repo to the local file system. Once done, it will prompt you to choose a solution to open from those available in the repo.

When opening a .NET Core project, Rider will automatically restore all packages and will also detect the list of target frameworks from, and display them in a chooser in the status bar. Selecting the current target framework sets the context for the editor — what compiler defines are active, and what packages and assemblies are referenced.

Rider allows opening several solutions simultaneously in different windows. By default, each time you open a solution while another one is opened, it prompts you to choose whether to open the project in the same window or in a new window. If necessary, you can set the default way of opening projects on the Appearance & Behavior | System Settings page of JetBrains Rider settings Ctrl+Alt+S.

Manage recent solutions

Each time you open a new solution, Rider saves it in its history and lets you quickly reopen it from the File | Open menu. If you want to remove a solution from your history, choose File | Open | Manage Projects... in the menu, then click x next to that solution or press Delete when it is selected.

Rider. removing solution from the recent history
Last modified: 19 October 2020