diff --git a/src/Neo.Compiler.MSIL/Compiler.cs b/src/Neo.Compiler.MSIL/Compiler.cs index 463738645..dd2c2ae9b 100644 --- a/src/Neo.Compiler.MSIL/Compiler.cs +++ b/src/Neo.Compiler.MSIL/Compiler.cs @@ -92,6 +92,7 @@ private static MetadataReference[] CreateReferences(params string[] references) MetadataReference.CreateFromFile(Path.Combine(coreDir, "System.Runtime.Numerics.dll")), MetadataReference.CreateFromFile(typeof(System.ComponentModel.DisplayNameAttribute).Assembly.Location), MetadataReference.CreateFromFile(typeof(object).Assembly.Location), + MetadataReference.CreateFromFile(typeof(Neo.SmartContract.Framework.SmartContract).Assembly.Location), }); refs.AddRange(references.Select(u => MetadataReference.CreateFromFile(u))); return refs.ToArray(); diff --git a/src/Neo.Compiler.MSIL/Neo.Compiler.MSIL.csproj b/src/Neo.Compiler.MSIL/Neo.Compiler.MSIL.csproj index a0eea3a15..f06b2ea94 100644 --- a/src/Neo.Compiler.MSIL/Neo.Compiler.MSIL.csproj +++ b/src/Neo.Compiler.MSIL/Neo.Compiler.MSIL.csproj @@ -29,4 +29,7 @@ + + + diff --git a/src/Neo.Compiler.MSIL/Program.cs b/src/Neo.Compiler.MSIL/Program.cs index d33e4aa22..0e5e2810e 100644 --- a/src/Neo.Compiler.MSIL/Program.cs +++ b/src/Neo.Compiler.MSIL/Program.cs @@ -39,7 +39,15 @@ private static void Run(CmdOptions args) log.Log("Neo.Compiler.MSIL console app v" + Assembly.GetEntryAssembly().GetName().Version); // Set current directory - var path = Path.GetDirectoryName(args.Filename); + var fileInfo = new FileInfo(args.Filename); + if (!fileInfo.Exists) + { + log.Log("Could not find file " + args.Filename); + Environment.Exit(-1); + return; + } + + var path = fileInfo.Directory.FullName; if (!string.IsNullOrEmpty(path)) { try @@ -101,7 +109,7 @@ private static void Run(CmdOptions args) .Select(u => u.Attribute("Update").Value) .ToList(); - files.AddRange(Directory.GetFiles(Path.GetDirectoryName(args.Filename), "*.cs", SearchOption.AllDirectories)); + files.AddRange(Directory.GetFiles(path, "*.cs", SearchOption.AllDirectories)); files = files.Distinct().ToList(); log.Log("Compiling from csproj source");