// Copyright (c) .NET Foundation and contributors. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
namespace Microsoft.DotNet.Cli.Build
{
public class DotNetRestore : DotNetMSBuildTool
protected override string Command
get { return "restore"; }
}
protected override string Args
get { return $"{base.Args} {GetProjectPath()} {GetConfigFile()} {GetSource()} {GetPackages()} {GetSkipInvalidConfigurations()} {GetRuntime()} {GetAdditionalParameters()}"; }
public string ConfigFile { get; set; }
public string AdditionalParameters { get; set; }
public string ProjectPath { get; set; }
public string Source { get; set; }
public string Packages { get; set; }
public bool SkipInvalidConfigurations { get; set; }
public string Runtime { get; set; }
private string GetConfigFile()
if (!string.IsNullOrEmpty(ConfigFile))
return $"--configfile {ConfigFile}";
return null;
private string GetSource()
if (!string.IsNullOrEmpty(Source))
return $"--source {Source}";
private string GetPackages()
if (!string.IsNullOrEmpty(Packages))
return $"--packages {Packages}";
private string GetProjectPath()
if (!string.IsNullOrEmpty(ProjectPath))
return $"{ProjectPath}";
private string GetSkipInvalidConfigurations()
if (SkipInvalidConfigurations)
return "/p:SkipInvalidConfigurations=true";
private string GetRuntime()
if (!string.IsNullOrEmpty(Runtime))
return $"/p:RuntimeIdentifier={Runtime}";
private string GetAdditionalParameters()
return AdditionalParameters;