Allow directories as project arguments to run command.
This commit is contained in:
parent
485237a8a0
commit
a4cb3fdf81
2 changed files with 42 additions and 15 deletions
|
@ -134,21 +134,12 @@ namespace Microsoft.DotNet.Tools.Run
|
|||
{
|
||||
if (string.IsNullOrWhiteSpace(Project))
|
||||
{
|
||||
string directory = Directory.GetCurrentDirectory();
|
||||
string[] projectFiles = Directory.GetFiles(directory, "*.*proj");
|
||||
|
||||
if (projectFiles.Length == 0)
|
||||
{
|
||||
var project = "--project";
|
||||
|
||||
throw new GracefulException(LocalizableStrings.RunCommandExceptionNoProjects, directory, project);
|
||||
}
|
||||
else if (projectFiles.Length > 1)
|
||||
{
|
||||
throw new GracefulException(LocalizableStrings.RunCommandExceptionMultipleProjects, directory);
|
||||
}
|
||||
|
||||
Project = projectFiles[0];
|
||||
Project = Directory.GetCurrentDirectory();
|
||||
}
|
||||
|
||||
if (Directory.Exists(Project))
|
||||
{
|
||||
Project = FindSingleProjectInDirectory(Project);
|
||||
}
|
||||
|
||||
if (Args == null)
|
||||
|
@ -160,5 +151,23 @@ namespace Microsoft.DotNet.Tools.Run
|
|||
_args = new List<string>(Args);
|
||||
}
|
||||
}
|
||||
|
||||
private static string FindSingleProjectInDirectory(string directory)
|
||||
{
|
||||
string[] projectFiles = Directory.GetFiles(directory, "*.*proj");
|
||||
|
||||
if (projectFiles.Length == 0)
|
||||
{
|
||||
var project = "--project";
|
||||
|
||||
throw new GracefulException(LocalizableStrings.RunCommandExceptionNoProjects, directory, project);
|
||||
}
|
||||
else if (projectFiles.Length > 1)
|
||||
{
|
||||
throw new GracefulException(LocalizableStrings.RunCommandExceptionMultipleProjects, directory);
|
||||
}
|
||||
|
||||
return projectFiles[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue