diff --git a/src/Dotnet.Script.DependencyModel/Compilation/CompilationDependencyResolver.cs b/src/Dotnet.Script.DependencyModel/Compilation/CompilationDependencyResolver.cs index 3c1e35a2..43bf4c65 100644 --- a/src/Dotnet.Script.DependencyModel/Compilation/CompilationDependencyResolver.cs +++ b/src/Dotnet.Script.DependencyModel/Compilation/CompilationDependencyResolver.cs @@ -3,6 +3,7 @@ using System.IO; using System.Linq; using Dotnet.Script.DependencyModel.Context; +using Dotnet.Script.DependencyModel.Environment; using Dotnet.Script.DependencyModel.Logging; using Dotnet.Script.DependencyModel.Process; using Dotnet.Script.DependencyModel.ProjectSystem; @@ -30,7 +31,15 @@ private CompilationDependencyResolver(ScriptProjectProvider scriptProjectProvide public CompilationDependencyResolver(LogFactory logFactory) : this ( - new ScriptProjectProvider(logFactory), + logFactory, + ScriptEnvironment.Default + ) + { } + + public CompilationDependencyResolver(LogFactory logFactory, ScriptEnvironment scriptEnvironment) + : this + ( + new ScriptProjectProvider(logFactory, scriptEnvironment), new ScriptDependencyInfoProvider(CreateRestorer(logFactory), logFactory), new ScriptFilesDependencyResolver(logFactory), logFactory diff --git a/src/Dotnet.Script.DependencyModel/Environment/ScriptEnvironment.cs b/src/Dotnet.Script.DependencyModel/Environment/ScriptEnvironment.cs index 48040e34..882bd3c4 100644 --- a/src/Dotnet.Script.DependencyModel/Environment/ScriptEnvironment.cs +++ b/src/Dotnet.Script.DependencyModel/Environment/ScriptEnvironment.cs @@ -26,6 +26,11 @@ public class ScriptEnvironment private string _overrriddenTargetFramework; + public ScriptEnvironment(string targetFramework) : this() + { + _targetFramework = new Lazy(() => targetFramework); + } + private ScriptEnvironment() { _netCoreVersion = new Lazy(GetNetCoreAppVersion); diff --git a/src/Dotnet.Script.DependencyModel/ProjectSystem/ScriptProjectProvider.cs b/src/Dotnet.Script.DependencyModel/ProjectSystem/ScriptProjectProvider.cs index 7970019f..16f18b17 100644 --- a/src/Dotnet.Script.DependencyModel/ProjectSystem/ScriptProjectProvider.cs +++ b/src/Dotnet.Script.DependencyModel/ProjectSystem/ScriptProjectProvider.cs @@ -27,6 +27,10 @@ private ScriptProjectProvider(ScriptParser scriptParser, ScriptFilesResolver scr { } + public ScriptProjectProvider(LogFactory logFactory, ScriptEnvironment scriptEnvironment) : this(new ScriptParser(logFactory), new ScriptFilesResolver(), logFactory, scriptEnvironment) + { + } + public string CreateProjectForRepl(string code, string targetDirectory, string defaultTargetFramework = "net46") { var scriptFiles = _scriptFilesResolver.GetScriptFilesFromCode(code);