Better error messages when makerunnable fails

This commit is contained in:
Mihai Codoban 2016-04-28 17:49:04 -07:00
parent 2e963a6aef
commit b480eb9072
3 changed files with 48 additions and 33 deletions

View file

@ -178,6 +178,8 @@ namespace Microsoft.DotNet.Cli.Compiler.Common
}
private static AssemblyReferenceInfo GetAssemblyInfo(LibraryAsset arg)
{
try
{
using (var peReader = new PEReader(File.OpenRead(arg.ResolvedPath)))
{
@ -208,6 +210,11 @@ namespace Microsoft.DotNet.Cli.Compiler.Common
return new AssemblyReferenceInfo(identity, references.ToArray());
}
}
catch (Exception e)
{
throw new InvalidDataException($"Could not read assembly info for {arg.ResolvedPath}", e);
}
}
private static string GetPublicKeyToken(byte[] bytes)
{

View file

@ -50,7 +50,8 @@ namespace Microsoft.DotNet.Cli
}
catch (GracefulException e)
{
Console.WriteLine(e.Message.Red().Bold());
Console.WriteLine(CommandContext.IsVerbose() ? e.ToString().Red().Bold() : e.Message.Red().Bold());
return 1;
}
}

View file

@ -115,6 +115,8 @@ namespace Microsoft.DotNet.Tools.Build
}
private void MakeRunnable(ProjectGraphNode graphNode)
{
try
{
var runtimeContext = graphNode.ProjectContext.ProjectFile.HasRuntimeOutput(_args.ConfigValue) ?
_args.Workspace.GetRuntimeContext(graphNode.ProjectContext, _args.GetRuntimes()) :
@ -128,6 +130,11 @@ namespace Microsoft.DotNet.Tools.Build
var executable = new Executable(runtimeContext, outputPaths, libraryExporter, _args.ConfigValue);
executable.MakeCompilationOutputRunnable();
}
catch (Exception e)
{
throw new Exception($"Failed to make the following project runnable: {graphNode.ProjectContext.GetDisplayName()}", e);
}
}
protected override CompilationResult RunCompile(ProjectGraphNode projectNode)
{