diff options
| author | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2020-04-19 23:12:56 +0300 |
|---|---|---|
| committer | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2020-04-19 23:12:56 +0300 |
| commit | 9b7875d904456c34c3698d7fc569078f99ed5187 (patch) | |
| tree | cb6ef38d0f2bde6b78d241e6a9a1ec4ba49ec82f /Software/Experiments | |
| parent | 6e172dd3bc3e2388e532fd43381896f15abaed70 (diff) | |
| download | Tango-9b7875d904456c34c3698d7fc569078f99ed5187.tar.gz Tango-9b7875d904456c34c3698d7fc569078f99ed5187.zip | |
Scripting refactoring.
Diffstat (limited to 'Software/Experiments')
| -rw-r--r-- | Software/Experiments/RoslynTest/ConsoleApp8/ConsoleApp8/Program.cs | 22 | ||||
| -rw-r--r-- | Software/Experiments/RoslynTest/ConsoleApp8/ConsoleApp8/main.csx | 2 |
2 files changed, 22 insertions, 2 deletions
diff --git a/Software/Experiments/RoslynTest/ConsoleApp8/ConsoleApp8/Program.cs b/Software/Experiments/RoslynTest/ConsoleApp8/ConsoleApp8/Program.cs index 5067058c8..2b95ea2c1 100644 --- a/Software/Experiments/RoslynTest/ConsoleApp8/ConsoleApp8/Program.cs +++ b/Software/Experiments/RoslynTest/ConsoleApp8/ConsoleApp8/Program.cs @@ -27,9 +27,11 @@ namespace ConsoleApp8 static void Main(string[] args) { + String startPath = System.Windows.Forms.Application.StartupPath; + var scriptOptions = ScriptOptions.Default. - WithFilePath(System.Windows.Forms.Application.StartupPath). + WithFilePath(startPath). WithReferences(new Assembly[] { typeof(System.Windows.Forms.Form).Assembly, typeof(Program).Assembly }); @@ -37,6 +39,24 @@ namespace ConsoleApp8 String script = File.ReadAllText("main.csx"); + foreach (var match in Regex.Matches(script, "#load \".+\"").OfType<Match>()) + { + String line = match.ToString(); + var pathMatch = Regex.Match(line, "(?<=\")(.*?)(?=\")"); + if (pathMatch.Success) + { + String path = pathMatch.ToString(); + + if (!Path.IsPathRooted(path)) + { + StringBuilder builder = new StringBuilder(script); + builder.Insert(match.Index + pathMatch.Index, Path.GetFullPath(startPath + "\\")); + script = builder.ToString(); + } + } + } + + var s = CSharpScript.Create(script, scriptOptions); var compileResult = s.Compile(); diff --git a/Software/Experiments/RoslynTest/ConsoleApp8/ConsoleApp8/main.csx b/Software/Experiments/RoslynTest/ConsoleApp8/ConsoleApp8/main.csx index f0b973033..61d086068 100644 --- a/Software/Experiments/RoslynTest/ConsoleApp8/ConsoleApp8/main.csx +++ b/Software/Experiments/RoslynTest/ConsoleApp8/ConsoleApp8/main.csx @@ -1,4 +1,4 @@ -#load "C:\Users\Roy\source\repos\ConsoleApp8\ConsoleApp8\bin\Debug\lib.csx" +#load "lib.csx" using System; using System.Collections.Generic; |
