IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual Studio Discussion :

Impossible de charger une assembly


Sujet :

Visual Studio

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Impossible de charger une assembly
    Bonjour à tous,

    Petit problème que je n'arrive pas à régler, vous l'avez probablement deviné :
    Impossible de charger le fichier ou l'assembly "xxx.xxx.xxx.xxx" ou une de ses dépendances.
    Récapitulatif de la situation :
    - je suis sur VS 2010 en framework 4.0
    - c'est un projet asp.net
    - il contient des références à d'autres projets de la solution (librairies VB.Net/C#...)
    - il y a peu de DLL dans les références car les projets sont en cours d'évolution.

    Ce qui a déjà été fait :
    - Vérifier la configuration dans la solution : elle est entièrement en "Any CPU", mais j'ai essayé en "x64" et ça ne marche pas mieux.
    - je fais évidement des Nettoyer/régénérer à tout va.
    - le projet qui me pose problème dans l'erreur contient une DLL qui n'est sensé fonctionner qu'en x64, à savoir PDF.Net. La solution de ce projet est compilée est x64, mais dans ma solution actuelle, comme dit plus haut, que je reste en AnyCPU ou que je passe en x64 ça ne change rien.
    - Je n'ai aucune erreur de compilation, mes seules erreurs sont à la première ligne de mes pages aspx, et lorsque je tente d’exécuter le debug à partir de VS, il ne lance pas l'application. En revanche quand je fais une publication, le site fonctionne (de prime abord, il reste une erreur lors de l'utilisation...).
    - j'ai vérifier toutes les références de tous les projets de la solution, aucun n'affiche d'erreurs.

    Si vous avez des idées sur des choses que je n'ai pas encore essayé, j’attends avec impatience vos suggestions ^_^

    Edit : Dans la liste des choses qui ont été faites, remonter le projet à partir d'un projet vierge, en reprenant les éléments séparément en ajoutant les références.
    --> le problème revient.
    J'ai aussi ajouté la version du framework dans la liste des éléments qui peuvent servir.

  2. #2
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 568
    Points
    3 568
    Par défaut
    Il n'y a pas plus de détails dans l'erreur? Si c'est un problème d'image 32 ou 64, qu'il ne trouve pas le fichier,etc...
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Voilà le message en entier :

    Erreur du serveur dans l'application '/'.
    Impossible de charger le fichier ou l'assembly 'Bee.Virtua.Acc.Motor' ou une de ses dépendances. Tentative de chargement d’un programme de format incorrect.
    Description : Une exception non gérée s'est produite au moment de l'exécution de la requête Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

    Détails de l'exception: System.BadImageFormatException: Impossible de charger le fichier ou l'assembly 'Bee.Virtua.Acc.Motor' ou une de ses dépendances. Tentative de chargement d’un programme de format incorrect.

    Erreur source:

    Une exception non gérée s'est produite lors de l'exécution de la requête Web actuelle. Les informations relatives à l'origine et l'emplacement de l'exception peuvent être identifiées en utilisant la trace de la pile d'exception ci-dessous.

    Suivi du chargement de l'assembly: Les informations suivantes peuvent permettre de déterminer la raison pour laquelle l'assembly 'Bee.Virtua.Acc.Motor' n'a pas pu être chargé.

    === Informations d'état de liaison préalable ===
    JRN : utilisateur = xxx\xxx
    JRN : DisplayName = Bee.Virtua.Acc.Motor
    (Partial)
    AVT : des informations de liaison partielle ont été fournies pour un assembly :
    AVT : Nom d'assembly : Bee.Virtua.Acc.Motor | ID de domaine : 3
    AVT : une liaison partielle se produit lorsqu'une partie seulement du nom complet de l'assembly est fournie.
    AVT : cela peut entraîner le chargement d'un assembly erroné par le classeur.
    AVT : il est recommandé de fournir une identité textuelle complètement spécifiée pour l'assembly,
    AVT : qui comprend le nom simple, la version, la culture et le jeton de clé publique.
    AVT : pour plus d'informations et pour obtenir des solutions à ce problème, consultez le livre blanc à l'adresse suivante http://go.microsoft.com/fwlink/?LinkId=109270.
    JRN : Appbase = file:///E:/xxx/xxx/webProjects/BeeUpload/
    JRN : PrivatePath initial = E:\xxx\xxx\webProjects\BeeUpload\bin
    Assembly appelant : (Unknown).
    ===
    JRN : cette liaison démarre dans le contexte de chargement de default.
    JRN : utilisation du fichier de configuration de l'application : E:\xxx\xxx\webProjects\BeeUpload\web.config
    JRN : utilisation du fichier de configuration d'hôte :
    JRN : utilisation du fichier de configuration de l'ordinateur à partir de C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
    JRN : stratégie non appliquée à la référence à ce stade (liaison d'assembly privée, personnalisée, partielle ou basée sur l'emplacement).
    JRN : tentative de téléchargement de la nouvelle URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/4169fc4a/c8a924fa/Bee.Virtua.Acc.Motor.DLL.
    JRN : tentative de téléchargement de la nouvelle URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/4169fc4a/c8a924fa/Bee.Virtua.Acc.Motor/Bee.Virtua.Acc.Motor.DLL.
    JRN : tentative de téléchargement de la nouvelle URL file:///E:/xxx/xxx/webProjects/BeeUpload/bin/Bee.Virtua.Acc.Motor.DLL.
    ERR : impossible de terminer l'installation de l'assembly (hr = 0x8007000b). Détection terminée.


    Trace de la pile:

    [BadImageFormatException: Impossible de charger le fichier ou l'assembly 'Bee.Virtua.Acc.Motor' ou une de ses dépendances. Tentative de chargement d’un programme de format incorrect.]
    System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +0
    System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +39
    System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks) +132
    System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +144
    System.Reflection.Assembly.Load(String assemblyString) +28
    System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +46

    [ConfigurationErrorsException: Impossible de charger le fichier ou l'assembly 'Bee.Virtua.Acc.Motor' ou une de ses dépendances. Tentative de chargement d’un programme de format incorrect.]
    System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +618
    System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +209
    System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) +130
    System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +178
    System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies() +94
    System.Web.Compilation.BuildManager.CallPreStartInitMethods() +332
    System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +591

    [HttpException (0x80004005): Impossible de charger le fichier ou l'assembly 'Bee.Virtua.Acc.Motor' ou une de ses dépendances. Tentative de chargement d’un programme de format incorrect.]
    System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9013676
    System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +97
    System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +258


    Informations sur la version : Version Microsoft .NET Framework :4.0.30319; Version ASP.NET :4.0.30319.1

  4. #4
    Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Trouvé, l'erreur venait de 3 DLL :
    - la première, PDF.Net, qui ne peut être qu'en 32 ou 64 bit, et nous utilisons la 64 bit, ce qui provoquait une erreur dans le projet qui l'utilisait lorsque que la solution était compilée en Any CPU, mais seulement lors de l’exécution.
    - les 2e et 3e, plus vicieuses, advapi32 et kernel32, qui elles à l'inverse provoquaient une erreur dans ma classe d'impersonation lorsque je quittait le mode Any CPU au profit du x64.

    Plus qu'à trouver comment faire une impersonation avec des DLL 64 bit pour vérifier définitivement si c'est bien ça le problème ^_^

    EDIT : Bon du coup le problème dérape vers une autre catégorie dans le forum, mais juste au cas ou...
    Le problème ici vient bien des DLL advapi32 et kernel32, je ne sais pas encore si ce n'est qu'une sur les deux, ou les deux. Normalement l'application est sensée prendre automatiquement en compte la configuration 32/64 bit, mais là je n'ai pas encore trouvé pourquoi, ça engendre une erreur.

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/12/2009, 20h05
  2. Eclipse-Tomcat :Impossible de charger une JSP
    Par swiss barbare dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 10/08/2009, 01h32
  3. [FastCGI] Impossible de charger une page PHP
    Par Leobaillard dans le forum Apache
    Réponses: 4
    Dernier message: 26/02/2009, 11h02
  4. Charger une assembly en DesignMode
    Par format_ton_dur dans le forum Windows Forms
    Réponses: 4
    Dernier message: 22/01/2008, 21h08
  5. Réponses: 6
    Dernier message: 19/10/2006, 09h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo