public static void Execute(Guid assemblyId)
        {
            using (var dbContext = new OrationiDatabaseContext())
            {
                var pluginAssembly = dbContext.PluginAsseblies.FirstOrDefault(pa => pa.Id == assemblyId);
                if (pluginAssembly is null)
                {
                    throw new InvalidOperationException($"Не найдена сборка с Id - {assemblyId}");
                }

                var pluginAssemblyInfo = PluginAssemblyInfo.Create(pluginAssembly);

                if (!pluginAssemblyInfo.IsFolderExists)
                {
                    Directory.CreateDirectory(pluginAssemblyInfo.BaseFolder);
                }

                AppDomain.CurrentDomain.AppendPrivatePath(pluginAssemblyInfo.BaseFolder);

                var zipAssemblyPackage = $"{pluginAssemblyInfo.FullPath}.zip";

                using (var writer = new BinaryWriter(File.OpenWrite(zipAssemblyPackage)))
                {
                    writer.Write(pluginAssembly.Assembly, 0, pluginAssembly.Assembly.Length);
                }

                ZipFile.ExtractToDirectory(zipAssemblyPackage, pluginAssemblyInfo.BaseFolder);

                File.Delete(zipAssemblyPackage);
            }
        }
        internal static string WarmupAssembly(PipelineStepDescription stepDescription)
        {
            var pluginAssemblyInfo = PluginAssemblyInfo.Create(stepDescription);

            if (!pluginAssemblyInfo.IsAssemblyExist)
            {
                Execute(stepDescription.AssemblyId);
            }

            return(pluginAssemblyInfo.FullPath);
        }