尝试使用 DotnetZip 运行 SSIS 脚本时出错

error trying to run a SSIS script using DotnetZip

我已经开始使用 codeplex 的 dotnetzip ... 我下载了它并在我的 .net 4.5 应用程序中引用了 Ionic.ZIP.dll, 这是我的主要代码...

using (ZipFile archive = new ZipFile(@"C:\Folder\ZipFileName.zip"))
{
    archive.Password = "passwprd";
    archive.Encryption = EncryptionAlgorithm.PkzipWeak;
    archive.StatusMessageTextWriter = Console.Out;

    archive.ExtractAll(@"C:\destinationFolder", ExtractExistingFileAction.Throw);
 }

此代码在控制台 C# 应用程序中运行良好,但当我想 运行 我的 SSIS 脚本时收到下一个错误....

en System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) en System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) en System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) en System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams) en Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()

有什么想法吗?

我认为这个问题与 DLL 引用有关,在运行时,SSIS 包默认从三个位置读取添加的程序集:

  1. 全局缓存组件
  2. .Net Framework 文件夹
  3. SQL 服务器 DTS 程序集文件夹

您可以参考以下link了解更多详情(检查两个答案)