无法加载文件或程序集Microsoft.SqlServer.DTSRuntimeWrap

时间:2014-10-28 06:59:02

标签: c# ssis

我制作了一个将数据导出到msaccess的SSIS包。如果我尝试在其解决方案项目上运行包,它将执行而不会出错。但是当我在程序中调用包时,我会收到错误

  

无法加载文件或程序集'Microsoft.SqlServer.DTSRuntimeWrap,Version = 10.0.0.0,Culture = neutral,PublicKeyToken = 89845dcd8080cc91'。这个程序集是为不同的处理器编译的。

这是我的代码:

public void RunPackage()
    {
        textstring("Locating Package...");
        m_worker2.ReportProgress(20);
        string PkgLocation;
        Package pkg;
        Microsoft.SqlServer.Dts.Runtime.Application _app = new Microsoft.SqlServer.Dts.Runtime.Application(); --> I got an exception here.
        DTSExecResult pkgResult;

        PkgLocation = Properties.Settings.Default.PackageLoc + "\"Package1.dtsx";
        textstring("Loading Package...");
        m_worker2.ReportProgress(30);
        pkg = _app.LoadPackage(PkgLocation, null);
        textstring("Executing Package...");
        m_worker2.ReportProgress(30);
        pkgResult = pkg.Execute();
        textstring("Finished...");
        m_worker2.ReportProgress(30);
        textstring(pkgResult.ToString());
        m_worker2.ReportProgress(30);

    }

任何人都能以正确的方式指出我。我不知道那个错误是什么意思。请赐教?

由于

最好的问候

3 个答案:

答案 0 :(得分:3)

这意味着,您混合了x86和x64架构。如果您的应用程序是x86(= 32位)架构,则不能使用x64(= 64位)编译的程序集。尝试使用任何CPU x64 编译您的应用程序。

来自MSDN:

  

设置平台目标属性(C#)

     
      
  1. 在“解决方案资源管理器”中选择项目,在“项目”菜单上,   单击“属性”。

  2.   
  3. 单击“构建”选项卡。

  4.   
  5. 从平台目标列表中选择CPU类型。选项是Any   CPU(默认值),x86,x64和Itanium。

  6.   

以下是完整的链接:How to: Optimize an Application for a Specific CPU Type

重要提示:如果您编译x64并使用x64程序集,则您的应用程序将无法在32位版本的Windows下运行。

答案 1 :(得分:0)

我最近升级到SQL 2016,我的VB应用程序停止运行我的包。我没有问题保存到SQL 2016.VB不会通过LoadFromSqlServer方法运行它。刚报道无法加载文件或程序集'Microsoft.SqlServer.DTSRuntimeWrap'为我修复的是删除旧的12.0 manageddts引用并添加新的13.0引用(参见图像) enter image description here

答案 2 :(得分:-1)

根据您系统上安装的SQL Server数据工具的版本,您必须在Microsoft.SqlServer.DTSRuntimeWrap应用程序中添加特定版本的C#

例如,如果安装了SQL Server Data Tools 2010,则必须添加Microsoft.SqlServer.DTSRuntimeWrap 11.0.0.0,对于SQL Server Data Tools 2012 您必须添加Microsoft.SqlServer.DTSRuntimeWrap 12.0.0.0