fix(scripts): memoize missing-assembly resolution on the design-time compile gate

This commit is contained in:
Joseph Doherty
2026-08-12 16:39:59 -04:00
parent 34e1a78e68
commit b1c3783578
2 changed files with 8 additions and 0 deletions
@@ -65,6 +65,7 @@ public static class RoslynScriptCompiler
var options = ScriptOptions.Default
.WithReferences(references)
.WithMetadataResolver(CachingScriptMetadataResolver.Instance)
.WithImports(imports);
var script = CSharpScript.Create<object?>(code, options, globalsType);
@@ -138,4 +138,11 @@ public class RoslynScriptCompilerTests
var diagnostics = RoslynScriptCompiler.Compile(code, typeof(ScriptCompileSurface));
Assert.Empty(diagnostics);
}
[Fact]
public void Compile_TwiceWithSharedResolver_StillCompilesCleanly()
{
Assert.Empty(RoslynScriptCompiler.Compile("return 1 + 1;"));
Assert.Empty(RoslynScriptCompiler.Compile("return 2 + 2;"));
}
}