diff --git a/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj b/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj index e04b645a..cefbb7c0 100644 --- a/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj +++ b/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj @@ -21,10 +21,19 @@ - + + + + + + + + + ns20;netstandard20 diff --git a/Extensions/FreeSql.Extensions.LazyLoading/LazyLoadingComplier.cs b/Extensions/FreeSql.Extensions.LazyLoading/LazyLoadingComplier.cs index 4d286aaa..e89f72e0 100644 --- a/Extensions/FreeSql.Extensions.LazyLoading/LazyLoadingComplier.cs +++ b/Extensions/FreeSql.Extensions.LazyLoading/LazyLoadingComplier.cs @@ -10,12 +10,27 @@ namespace FreeSql.Extensions.LazyLoading { #if ns20 + //public static Assembly CompileCode(string cscode) + //{ + // Natasha.AssemblyComplier complier = new Natasha.AssemblyComplier(); + // //complier.Domain = DomainManagment.Random; + // complier.Add(cscode); + // return complier.GetAssembly(); + //} + + internal static Lazy _compiler = new Lazy(() => + { + var compiler = new CSScriptLib.RoslynEvaluator(); + compiler.DisableReferencingFromCode = false; + compiler + .ReferenceAssemblyOf() + .ReferenceDomainAssemblies(); + return compiler; + }); + public static Assembly CompileCode(string cscode) { - Natasha.AssemblyComplier complier = new Natasha.AssemblyComplier(); - //complier.Domain = DomainManagment.Random; - complier.Add(cscode); - return complier.GetAssembly(); + return _compiler.Value.CompileCode(cscode); } #else