コード例 #1
0
ファイル: ExecutionHost.cs プロジェクト: zerouid/RoslynPad
            public Task Initialize(InitializationMessage message)
            {
                _parseOptions = new CSharpParseOptions(preprocessorSymbols: new[] { "__DEMO__", "__DEMO_EXPERIMENTAL__" }, languageVersion: LanguageVersion.Latest);

                var initializationParameters = message.Parameters;

                _workingDirectory = initializationParameters.WorkingDirectory;

                var scriptOptions = _scriptOptions
                                    .WithReferences(initializationParameters.References)
                                    .WithImports(initializationParameters.Imports);

                if (initializationParameters.NuGetConfiguration != null)
                {
                    var resolver = new NuGetScriptMetadataResolver(initializationParameters.NuGetConfiguration, initializationParameters.WorkingDirectory);
                    scriptOptions = scriptOptions.WithMetadataResolver(resolver);
                }
                _scriptOptions = scriptOptions;

                _shadowCopyAssemblies = initializationParameters.ShadowCopyAssemblies;
                _optimizationLevel    = initializationParameters.OptimizationLevel;
                _checkOverflow        = initializationParameters.CheckOverflow;
                _allowUnsafe          = initializationParameters.AllowUnsafe;

                return(Task.CompletedTask);
            }
コード例 #2
0
            public Task Initialize(InitializationMessage message)
            {
                _parseOptions = new CSharpParseOptions(preprocessorSymbols: new[] { "__DEMO__", "__DEMO_EXPERIMENTAL__" }, languageVersion: LanguageVersion.Latest);

                var parameters = message.Parameters;

                _workingDirectory = parameters.WorkingDirectory;

                var scriptOptions = _scriptOptions
                                    .WithReferences(parameters.CompileReferences.Select(p => MetadataReference.CreateFromFile(p)))
                                    .WithImports(parameters.Imports)
                                    .WithMetadataResolver(new CachedScriptMetadataResolver(parameters.WorkingDirectory));

                _scriptOptions = scriptOptions;

                _optimizationLevel = parameters.OptimizationLevel;
                _checkOverflow     = parameters.CheckOverflow;
                _allowUnsafe       = parameters.AllowUnsafe;

                if (_assemblyLoader == null)
                {
                    _assemblyLoader = parameters.ShadowCopyAssemblies
                            ? new InteractiveAssemblyLoader(
                        new MetadataShadowCopyProvider(Path.GetTempPath(), SystemNoShadowCopyDirectories.Value))
                            : null;
                }

                LoadReferences(parameters.RuntimeReferences);

                return(Task.CompletedTask);
            }
コード例 #3
0
            public Task Initialize(InitializationMessage message)
            {
                var initializationParameters = message.Parameters;

                _workingDirectory = initializationParameters.WorkingDirectory;

                var scriptOptions = _scriptOptions
                                    .WithReferences(initializationParameters.References)
                                    .WithImports(initializationParameters.Imports);

                if (initializationParameters.NuGetConfiguration != null)
                {
                    var resolver = new NuGetScriptMetadataResolver(initializationParameters.NuGetConfiguration, initializationParameters.WorkingDirectory);
                    scriptOptions = scriptOptions.WithMetadataResolver(resolver);
                }
                _scriptOptions = scriptOptions;

                _shadowCopyAssemblies = initializationParameters.ShadowCopyAssemblies;
                _optimizationLevel    = initializationParameters.OptimizationLevel;
                _checkOverflow        = initializationParameters.CheckOverflow;
                _allowUnsafe          = initializationParameters.AllowUnsafe;

                return(Task.CompletedTask);
            }
コード例 #4
0
 public Task Initialize(InitializationMessage message)
 {
     return(InvokeAsync(nameof(Initialize), message));
 }