C#: не удалось загрузить файл или сборку 'OpenPop, версия =2.0.4.369, культура = нейтральная, PublicKeyToken=null' или одна из ее зависимостей

Я пытаюсь использовать OpenPop.NET для доступа к учетной записи Gmail, однако я получаю сообщение об ошибке ниже даже с базовым кодом тестирования.

Ошибка: System.Reflection.TargetInvocationException: Исключение было сгенерировано целью вызова. ---> System.IO.FileNotFoundException: не удалось загрузить файл или сборку 'OpenPop, версия =2.0.4.369, культура = нейтральная, PublicKeyToken=null' или одна из ее зависимостей. Система не может найти указанный файл. Имя файла: 'OpenPop, версия =2.0.4.369, культура = нейтральная, PublicKeyToken=null' в ST_1694f4bcdf2a4068ae871201a2216457.csproj.ScriptMain.Main ()

WRN: регистрация привязки сборки выключена. Чтобы включить ведение журнала ошибок привязки сборки, задайте для параметра реестра [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) значение 1. Примечание. С журналированием ошибок привязки сборки связано некоторое снижение производительности. Чтобы отключить эту функцию, удалите значение реестра [HKLM \ Software \ Microsoft \ Fusion! EnableLog].

--- Конец внутренней трассировки стека исключений --- в System.RuntimeMethodHandle._InvokeMethodFast(Объектная цель, аргументы Object[], SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) в System.Reflection.RuntimeMethodInfo.InokeAgnOF, Связыватель Binder, параметры Object[], культура CultureInfo, логическое skipVisibilityChecks) в System.Reflection.RuntimeMethodInfo.Invoke(объект obj, BindingFlags invokeAttr, связыватель Binder, параметры Object[], CultureInfo culture) в System.RuntimeType.InvokeMember(System.RuntimeType.InvokeMember (, BindingFlags bindingFlags, связыватель связывателя, объектная привязка, объект Object] предоставленные арги, модификаторы ParameterModifier [], культура CultureInfo, строка [] namedParams) в Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()

Я пытаюсь сделать это в пакете служб SSIS в SQL Server Business Intelligence Development Studio 2008 на компьютере под управлением Windows 7 с платформой.NET Framework 3.5 и 4. В 3.5 встроены как библиотека OpenPop, так и задача сценария, которая ссылается на него. Я исследовал это в течение нескольких дней, но не смог найти ничего, что могло бы это исправить. Я попытался перекомпилировать dll OpenPop из исходного кода и удалить и повторно добавить ссылку несколько раз.

Код, с которым я сейчас работаю, размещен ниже:

        Pop3Client client = new Pop3Client();

        try
        {
            client.Connect("pop.gmail.com", 995, true);

            try
            {
                client.Authenticate("user@domain.com", "mypassword");
                Console.WriteLine("Success");
                client.Disconnect();
            }
            catch
            {
                Console.WriteLine("Failed to authenticate");
                Dts.TaskResult = (int)ScriptResults.Failure;
                return;
            }
        }
        catch
        {
            Console.WriteLine("Failed to connect");
            Dts.TaskResult = (int)ScriptResults.Failure;
            return;
        }

        Dts.TaskResult = (int)ScriptResults.Success;

Заранее спасибо.

2 ответа

Решение

Я тоже столкнулся с этой проблемой, и решение на самом деле довольно простое. Вы должны установить ссылочную сборку в GAC сервера, на котором вы запускаете пакет.

1) Убедитесь, что сборка подписана, если вы создали свою сборку, подпишите ее.

2) Установите DLL в GAC, используя gacutil.exe из SDK инструментов Visual Studio. Для получения дополнительной информации см. Как: установить сборку в глобальный кэш сборок.

3) Ссылка на ту же DLL из вашей задачи скрипта

Вуаля, это должно прекрасно работать сейчас!

Установка вашей DLL в GAC(глобальный кеш сборок)

1) Командная строка Visual Studio => Запуск от имени администратора

2)gacutil /i "путь к файлу dll"

3) см. Сборку на C:\Windows\system32\

Это также решит отсутствие DLL или "Не удалось загрузить файл или сборку" в задаче "Сценарий служб SSIS".

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