none
Could not load file or assembly 'Interop.DTS' or one of its dependencies. RRS feed

  • Question

  • I have custom web application built with VS2005 and .Net framework 2.0 on 32bit Windows Server 2003.
    It can be built with VS and application works fine.
    The application has used SQL Server 2005/2008R2 in past and also in future.
    Our application should run SSIS via web application.
    VS2005 is installed to different windows server than the following scenario.

    I have now converted with Wizard the application to VS2010 and .Net framework 4.0 and Windows 7.

    WHY I GET ERROR?
    I'M MISSING SOMETHING FROM MY WINDOWS 7 MACHINE? Interop.DTS has problem with 64bit OS?
    SHOULD I REFERENCE Interop.DTS.dll FROM MY LOCAL MACHINE? WHERE? IT SEEMS TO BE VERSION 2.0, BUT SHOULD BE ANOTHER VERSION?
    IS THIS SOMETHING TO DO THAT I'M DEVELOPING WITH VS2010 and .NET FRAMEWORK4.0? DTS iS OBSOLTE AND ANOTHER API HAS REPLACED THE FEATURE?

    FILE-----------------------------------------------------------------------------------------
    Located in /bin/Interop.DTS.dll (copied from old environment)

    ERROR IN THE BROWSER-----------------------------------------------------------------------------
    Could not load file or assembly 'Interop.DTS' or one of its dependencies. An attempt was made to load a program with an incorrect format.

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.BadImageFormatException: Could not load file or assembly 'Interop.DTS' or one of its dependencies. An attempt was made to load a program with an incorrect format.

    Source Error:
    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

    Assembly Load Trace: The following information can be helpful to determine why the assembly 'Interop.DTS' could not be loaded.

    === Pre-bind state information ===
    LOG: User = Company\Administrator
    LOG: DisplayName = Interop.DTS
    (Partial)
    WRN: Partial binding information was supplied for an assembly:
    WRN: Assembly Name: Interop.DTS | Domain ID: 3
    WRN: A partial bind occurs when only part of the assembly display name is provided.
    WRN: This might result in the binder loading an incorrect assembly.
    WRN: It is recommended to provide a fully specified textual identity for the assembly,
    WRN: that consists of the simple name, version, culture, and public key token.
    WRN: See whitepaper http://go.microsoft.com/fwlink/?LinkId=109270 for more information and common solutions to this issue.
    LOG: Appbase = file:///C:/inetpub/wwwroot/PreProc/
    LOG: Initial PrivatePath = C:\inetpub\wwwroot\PreProc\bin
    Calling assembly : (Unknown).
    ===
    LOG: This bind starts in default load context.
    LOG: Using application configuration file: C:\inetpub\wwwroot\PreProc\web.config
    LOG: Using host configuration file: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config
    LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config.
    LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
    LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/abc_preproc/01ce9514/b706c0d/Interop.DTS.DLL.
    LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/abc_preproc/01ce9514/b706c0d/Interop.DTS/Interop.DTS.DLL.
    LOG: Attempting download of new URL file:///C:/inetpub/wwwroot/PreProc/bin/Interop.DTS.DLL.
    ERR: Failed to complete setup of assembly (hr = 0x8007000b). Probing terminated.


    Kenny_I




    • Edited by Kenny_I Thursday, October 4, 2012 9:21 AM
    Thursday, October 4, 2012 6:18 AM

Answers

  • Interop.DTS is obsolete. You need to upgrade your asp.net application to use the SSIS framework APIs to call your SSIS packages. Check this on how to call a SSIS package programatically. Use methods in Microsoft.SqlServer.Dts.Runtime namespace to execute packages programatically.

    http://btsbee.wordpress.com/

    • Marked as answer by Kenny_I Tuesday, October 9, 2012 7:04 AM
    Thursday, October 4, 2012 10:09 AM

All replies

  • Interop.DTS is obsolete. You need to upgrade your asp.net application to use the SSIS framework APIs to call your SSIS packages. Check this on how to call a SSIS package programatically. Use methods in Microsoft.SqlServer.Dts.Runtime namespace to execute packages programatically.

    http://btsbee.wordpress.com/

    • Marked as answer by Kenny_I Tuesday, October 9, 2012 7:04 AM
    Thursday, October 4, 2012 10:09 AM
  • When I look my code I see that we are using LoadFromSQLServer, which seems to be supported by SQL Server 2012.
    I'm really wondering why my VS project requires Interopp.dts.dll to be referenced.

    http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.dts.runtime.application.loadfromsqlserver.aspx

    PART OF CODE:       

     Dim pkgLocation As String
            Dim pkg As New Package
            Dim app As New Application
            Dim pkgResults As DTSExecResult

            pkgLocation = Package

            Try
                If Storage = "Server" Then
                    If Trusted_Connection Then
                        pkg = app.LoadFromSQLServer(pkgLocation, DTS_Server, Nothing, Nothing, Nothing)
                    Else
                        pkg = app.LoadFromSQLServer(pkgLocation, DTS_Server, DTS_UserId, DTS_Password, Nothing)
                    End If
                Else
                    pkg = app.LoadPackage(pkgLocation, Nothing)
                End If
            Catch ex As Exception
                lblMsg.Text = "<b>Package load did not succeed, error:</b> " & ex.Message
                pkg = Nothing
                app = Nothing
                Exit Sub
            End Try

    • Edited by Kenny_I Monday, October 8, 2012 6:06 AM
    Monday, October 8, 2012 5:28 AM
  • If thats the case remove any explicit references to the Interop.Dts assembly and try invoking the packages again.

    http://btsbee.wordpress.com/

    Monday, October 8, 2012 10:51 PM