Scripting using Basic.Reference.Assemblies does not work
#55,689 opened on Aug 18, 2021
Repository metrics
- Stars
- (20,414 stars)
- PR merge metrics
- (Avg merge 6d 17h) (256 merged PRs in 30d)
Description
With the following code
var sessionSetupTask = CSharpScript.Create(
code: string.Empty,
options: ScriptOptions.Default.WithImports("System").WithReferences(Net472.mscorlib),
globalsType: null,
assemblyLoader: new InteractiveAssemblyLoader())
.RunAsync(null);
ScriptState<Attribute[]> test2 = sessionSetupTask.Result.ContinueWithAsync<Attribute[]>(@"
[Obsolete()]
class __scope__internal
{
}
System.Attribute.GetCustomAttributes(typeof(__scope__internal))").Result;
With Net472.mscorlib coming from Basic.Reference.Assemblies, we got the following exception wityh Roslyn 3.10 and 3.11:
“System.ArgumentException: 'Absolute path expected. Parameter name: path'”
at Microsoft.CodeAnalysis.Scripting.Hosting.InteractiveAssemblyLoader.RegisterDependency(AssemblyIdentity dependency, String path)
at Microsoft.CodeAnalysis.Scripting.ScriptBuilder.Build[T](Compilation compilation, DiagnosticBag diagnostics, Boolean emitDebugInformation, CancellationToken cancellationToken)
at Microsoft.CodeAnalysis.Scripting.ScriptBuilder.CreateExecutor[T](ScriptCompiler compiler, Compilation compilation, Boolean emitDebugInformation, CancellationToken cancellationToken)
at Microsoft.CodeAnalysis.Scripting.Script1.GetExecutor(CancellationToken cancellationToken) at Microsoft.CodeAnalysis.Scripting.Script1.RunFromAsync(ScriptState previousState, Func2 catchException, CancellationToken cancellationToken) at Microsoft.CodeAnalysis.Scripting.ScriptState.ContinueWithAsync[TResult](String code, ScriptOptions options, Func2 catchException, CancellationToken cancellationToken)
With Roslyn 3.8 it was working fine.