public static CompilerParameters GetDefaultCompilerParameters(AppDomain appDomain)
        {
            if (appDomain == null)
            {
                throw new ArgumentNullException(nameof(appDomain));
            }

            var compilerParameters = new CompilerParameters
            {
                GenerateInMemory      = true,
                TreatWarningsAsErrors = false
            };

            compilerParameters.ReferencedAssemblies.AddRange(appDomain
                                                             .GetAllReferenced()
                                                             .Where(t => !t.IsDynamic)
                                                             .Select(t => t.Location)
                                                             .ToArray());

            return(compilerParameters);
        }