Задача сценария SSIS работает только в режиме отладки

Я использую VS 2017 и SQL server 2016 для выполнения этой работы. Я создаю задачу сценария, которая пытается отправить электронную почту с помощью SendGrid. Если я поставлю точку останова внутри задачи сценария, у меня не возникнет проблем с выполнением моего пакета SSIS, а затем получу электронное письмо. Однако, если я просто выполняю пакет, весь пакет по-прежнему может быть успешно выполнен, но я не могу получить электронное письмо, которое, как я подозреваю, не выполняется. Ниже приведен код моей задачи сценария.

    public void Main()
    {
        string User_Email = Dts.Variables["User::UserEmail"].Value.ToString();
        try
        {
            if (!File.Exists(Dts.Variables["User::OutputPath"].Value.ToString()))
                throw new FileNotFoundException();
            File.Copy(Dts.Variables["User::OutputPath"].Value.ToString(), Dts.Variables["User::DestinationPath"].Value.ToString() + Dts.Variables["User::co_num"].Value.ToString() + ".pdf", true);

            AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);

            SendGridMailHelper.SendOrderVerification(User_Email, "user name");

        }
        catch (FileNotFoundException)
        {
            MessageBox.Show("The file is not found in the specified location");
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
        Dts.TaskResult = (int)ScriptResults.Success;
    }
    static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
    {
        if (args.Name.Contains("SendGrid"))
        {
            string path = @"F:\DLL\";
            return System.Reflection.Assembly.LoadFile(System.IO.Path.Combine(path, "SendGrid.dll"));
        }
        if (args.Name.Contains("System.Net.Http"))
        {
            string path = @"F:\DLL\";
            return System.Reflection.Assembly.LoadFile(System.IO.Path.Combine(path, "System.Net.Http.dll"));
        }
        if (args.Name.Contains("Newtonsoft.Json"))
        {
            string path = @"F:\DLL\";
            return System.Reflection.Assembly.LoadFile(System.IO.Path.Combine(path, "Newtonsoft.Json.dll"));
        }
        return null;
    }

На всякий случай я проверил журнал Windows, и он показал ошибку времени выполнения, когда я запускаю пакет без добавления контрольных точек. Однако я не могу понять, что это значит. Любые мысли будут очень кстати. Спасибо.

Application: DtsDebugHost.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.MissingMethodException at ST_b240be27e55248ea869be51aa06a2018.SendGridMailHelper+<_SendEmail>d__7.MoveNext() at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[ST_b240be27e55248ea869be51aa06a2018.SendGridMailHelper+<_SendEmail>d__7, ST_b240be27e55248ea869be51aa06a2018, Version=1.0.6877.42064, Culture=neutral, PublicKeyToken=null]](<_SendEmail>d__7 ByRef) at ST_b240be27e55248ea869be51aa06a2018.SendGridMailHelper._SendEmail(System.Collections.Generic.List`1, System.Object, System.String) at ST_b240be27e55248ea869be51aa06a2018.SendGridMailHelper+d__9.MoveNext() at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() at System.Threading.ThreadPoolWorkQueue.Dispatch()

вы выполняете пакет двумя разными способами, не так ли? С точкой отладки и без точки отладки. так когда возникает ваша проблема? пожалуйста, отредактируйте свой вопрос для лучшего понимания

Irfan 31.10.2018 08:23

@im_one Я только что отредактировал его, взгляните, пожалуйста.

Iverson Wang 31.10.2018 14:37
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
304
0

Другие вопросы по теме