Getting and Building the Code

Smit Patel edited this page Oct 3, 2018 · 26 revisions

Prerequisites

The following prerequisites are required to work with the EF Core code:

Clone the repository

Using your favorite git client, clone the repository.

git clone https://github.com/aspnet/EntityFrameworkCore.git

Build initialization

Run at least the following before using Visual Studio for the first time:

build /t:Compile

If you get a ⚠️ warning about KoreBuild using different dotnet than the one which exists in PATH variable, then you need to update your PATH variable such that dotnet installed by KoreBuild in %USERPROFILE% appears before any other dotnet installed. Only after that opening solution in Visual Studio will work correctly. See Updating PATH to use preview .NET Core SDK under Build from Visual Studio for more information on steps.

Build from the command line

To build and run tests:

build

To build and create packages without running tests:

build /t:Package

Build from Visual Studio

  • Just open the .sln file. (After running the build initialization from the command line and updating your Path if needed.)
  • NuGet packages will already have been restored, so you can switch off auto package restore in Visual Studio.

Updating PATH to use preview .NET Core SDK

  • Since KoreBuild installs preview version of .NET Core SDK in %USERPROFILE% folder, your path needs to use that dotnet for VS to work correctly. Especially the preview version of dotnet should appear before any other dotnet in your PATH variable. You can either set your environment variables globally and just open solution in VS normally or you can set PATH variable locally in command line and open solution from command line. Following are steps to update PATH locally & open solution in VS in PowerShell. Similar steps can be used in any other command terminal. (drop /x64 if you are on 32 bit machine)
.\build /t:Compile
$env:PATH="$env:USERPROFILE/.dotnet/x64;"+$env:PATH
.\EFCore.sln

Solving common build errors

  1. Check that the package source URLs listed in the Nuget.config file in the root of the repository are accessible.
  2. Clean the source directory. git clean -xid will clean files in the EF source directory.
  3. Clear nuget packages and caches. nuget.exe locals all -clear will delete the NuGet caches. (You can get nuget.exe from https://dist.nuget.org/index.html or use dotnet nuget).
  4. Reinstall .NET Core CLI. Our build script automatically installs a version to %USERPROFILE%\.dotnet.

Run tests

Our tests are written using xUnit.net 2.0, and can be run with TestDriven.Net. You may need to tweak the TestDriven.NET installation to get it working with the latest VS.

Other test runners may also work--people have had luck with the ReSharper test runner and the CodeRush runner.

ReSharper

Some people on the team use ReSharper to increase productivity. Currently the EAP builds of the latest release seem to be working well. Some people see better performance if ReSharper testing support is disabled.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.