web-dev-qa-db-fra.com

Impossible de charger le fichier ou l'assembly 'Microsoft.SqlServer.DTSRuntimeWrap'

Je n'arrive pas à comprendre pourquoi cette erreur se produit lorsque j'exécute mon application (MVC 3). Le projet a une référence à Microsoft.SQLServer.ManagedDTS. SQL Server 2008 R2 et SQL Server 2012 (Express) sont tous deux installés. J'utilise 2012 avec cette application.

Erreur serveur dans l'application '/'.

Impossible de charger le fichier ou l'assembly 'Microsoft.SqlServer.DTSRuntimeWrap' Ou l'une de ses dépendances. Vous avez tenté de charger un programme avec un format incorrect pour .

Description: une exception non gérée s'est produite lors de l'exécution de De la demande Web en cours. Consultez la trace de la pile pour plus d’informations Sur l’erreur et son origine dans le code. 

Détails des exceptions: System.BadImageFormatException: impossible de charger le fichier Ou l'assembly 'Microsoft.SqlServer.DTSRuntimeWrap' ou l'une de ses dépendances . Une tentative de chargement d’un programme avec un format incorrect A été tentée.

Erreur de source: 

Une exception non gérée a été générée lors de l'exécution de la demande Web actuelle . Les informations concernant l'origine et l'emplacement de L'exception peuvent être identifiées à l'aide de la trace de pile d'exceptions ci-dessous.

Suivi de la charge d'assemblage: Les informations suivantes peuvent être utiles pour Déterminer pourquoi le fichier Microsoft.SqlServer.DTSRuntimeWrap de l'assembly n'a pas pu être chargé.

WRN: la journalisation de la liaison d'assemblage est désactivée. Pour activer la journalisation des échecs d'assemblage avec Assembly , Définissez la valeur de registre [HKLM\Software\Microsoft\Fusion! EnableLog] (DWORD) sur 1. Remarque: Il y a un risque de perte de performances. associé à la journalisation d'un échec d'assemblage . Pour désactiver cette fonctionnalité, supprimez la valeur de registre [HKLM\Software\Microsoft\Fusion! EnableLog].

Trace de la pile: 

[BadImageFormatException: impossible de charger le fichier ou l'assembly 'Microsoft.SqlServer.DTSRuntimeWrap' ou l'une de ses dépendances. Une tentative de chargement d'un programme avec un format incorrect a été tentée.]
System.Reflection.RuntimeAssembly._nLoad (AssemblyName nomFichier, String CodeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark & ​​stackMark, Boolean throwOnFileNotFound, .bool. suppressSecurityChecks) +0
System.Reflection.RuntimeAssembly.InternalLoadAssemblyName (AssemblyName AssemblyRef, Evidence assemblySecurity, StackCrawlMark & ​​stackMark, Boolean pourIntrospection, Boolean suppressSecurityChecks) +567
System.Reflection.RuntimeAssembly.InternalLoad (String assemblyString, Evidence assemblySecurity, StackCrawlMark & ​​stackMark, Boolean PourIntrospection) +192 System.Reflection.Assembly.Load (String assemblyString) +35
System.Web.Configuration.CompilationSection.LoadAssemblyHelper (String AssemblyName, Boolean starDirective) +123

[ConfigurationErrorsException: impossible de charger le fichier ou l'assembly 'Microsoft.SqlServer.DTSRuntimeWrap' ou l'une de ses dépendances. Une tentative de chargement d'un programme avec un format incorrect a été tentée.]
System.Web.Configuration.CompilationSection.LoadAssemblyHelper (String AssemblyName, Boolean starDirective) +11568160
System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory () +485 System.Web.Configuration.AssemblyInfo.get_AssemblyInternal () +79 System.Web.Compilation.BuildManager. .] compConfig) +337
System.Web.Compilation.BuildManager.CallPreStartInitMethods () +280
System.Web.Hosting.HostingEnvironment.Initialize (ApplicationManager AppManager, IApplicationHost appHost, IConfigMapPathFactory .

[HttpException (0x80004005): Impossible de charger le fichier ou l'assembly 'Microsoft.SqlServer.DTSRuntimeWrap' ou l'une de ses dépendances. Une tentative de chargement d'un programme avec un format incorrect a été tentée.]
System.Web.HttpRuntime.FirstRequestInit (contexte HttpContext) +11700896 System.Web.HttpRuntime.EnsureFirstRequestInit (HttpContexte contextuel) System.Web. wr, contexte HttpContext) +4869125

16
Mark Meisel

S'il s'agit d'une application Web, vous devez activer l'exécution d'applications 32 bits à partir du pool d'applications d'IIS. Cela résoudra votre problème.

36
Farshid

Microsoft.SqlServer.DTSRuntimeWrap.dll n'est probablement pas dans le GAC , ce qui signifie qu'il doit être copié dans le dossier bin de votre application Web ou ajouté manuellement au GAC de votre ordinateur (par exemple, , en utilisant GACUTIL.exe). Vous pouvez probablement le trouver dans C:\Program Files (x86)\Microsoft SQL Server\100\SDK\Assemblies\. Si vous l'avez référencé depuis un emplacement similaire dans votre projet Visual Studio, vous pouvez probablement simplement définir l'option dans Propriétés de la référence pour Copier Local à True .

Notez que cette DLL peut ne pas être redistribuable. Vous devrez donc peut-être installer SSIS sur tout serveur Web sur lequel l'application s'exécutera afin de ne pas enfreindre la licence SSIS, mais vous devrez le vérifier.

0
schellack