Search code examples
c#.net-coretravis-cixunit

dotnet restore on Travis


I have a microservices based application within one solution but it has several projects - 5 exactly. I have some xUnit tests that I’d like to build on Travis CI, however I’m getting The command "dotnet restore" failed and exited with 1 during error. This is my very first time working with Travis.

My travis.yml file

language: csharp
mono: none
dotnet: 3.1.202
sudo: required

before_install:
  - sudo apt-get install nuget
install:
  - dotnet restore
branches:
    only:
     - Testing

script:
 - dotnet build
 - dotnet test TestCore/TestCore.csproj"

The output on Travis:

Installing .NET Core

0.00s
git.checkout

0.71s$ git clone --depth=50 --branch=Testing https://github.com/NagyDominik/OnlineRetailer_Partial.git NagyDominik/OnlineRetailer_Partial

0.01s

0.11s$ dotnet --info

.NET Core SDK (reflecting any global.json):

 Version:   3.1.202

 Commit:    6ea70c8dca

Runtime Environment:

 OS Name:     ubuntu

 OS Version:  16.04

 OS Platform: Linux

 RID:         ubuntu.16.04-x64

 Base Path:   /usr/share/dotnet/sdk/3.1.202/

Host (useful for support):

  Version: 3.1.4

  Commit:  0090613580

.NET Core SDKs installed:

  3.1.202 [/usr/share/dotnet/sdk]

.NET Core runtimes installed:

  Microsoft.AspNetCore.App 3.1.4 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]

  Microsoft.NETCore.App 3.1.4 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:

  https://aka.ms/dotnet-download

before_install

17.04s$ sudo apt-get install nuget

$ dotnet restore

Welcome to .NET Core 3.1!

---------------------

SDK Version: 3.1.202

----------------

Explore documentation: https://aka.ms/dotnet-docs

Report issues and find source on GitHub: https://github.com/dotnet/core

Find out what's new: https://aka.ms/dotnet-whats-new

Learn about the installed HTTPS developer cert: https://aka.ms/aspnet-core-https

Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs

Write your first app: https://aka.ms/first-net-core-app

--------------------------------------------------------------------------------------

More than one project or solution file.

The command "dotnet restore" failed and exited with 1 during .

Your build has been stopped.

Any suggestion is very welcomed!


Solution

  • Your github project has multiple project/solution files in the main directory:

    • OnlineRetailer.sln
    • docker-compose.dcproj

    If you have multiple project or solution files in the main directory of the project, dotnet build can get confused and wont know what to build.

    You just need to tell dotnet build what you want to build. For example:

    - dotnet build OnlineRetailer.sln
    

    As an aside, I think you dont need this at all:

    sudo apt-get install nuget
    

    The SDK is self-contained and contains the nuget pieces it needs to do dotnet restore.