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

VB.NET Discussion :

CodeFluent.Runtime.Client : Assembly introuvable


Sujet :

VB.NET

  1. #1
    Membre habitué Avatar de CLeBeR
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 412
    Points : 188
    Points
    188
    Par défaut CodeFluent.Runtime.Client : Assembly introuvable
    Bonjour,

    J'ai utilisé CodeFluent.Runtime.Client il y a quelques mois pour un projet où tout s'est bien déroulé, cependant, je souhaite l'utiliser pour un autre projet mais qui nécessite un installateur que j'ai fais. La DLL est intégrée au projet principal qui lui (l'exe) est écrit par mon installateur (un autre exe).

    Il n'y a donc en théorie aucun problème puisque mon installateur lance l'application principale. Cependant, lorsque je débogue mon projet principale cela fonctionne, sauf quand je l'intègre à l'installateur, mon application principale se lance et j'obtiens l'erreur suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Impossible de charger le fichier ou l'assembly 'CodeFluent.Runtime.Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1bb6d7cccf1045ec' ou une de ses dépendances. Le fichier spécifié est introuvable.
    J'ai donc tenté de l'ajouter aux ressources et de l'extraire avant d'utiliser les fonctions de la DLL. Le fait d'ajouter la DLL aux ressources m'a complètement cassé le projet,

    J'obtiens ce type d'erreur pour mon projet principal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'MaRessource' est ambigu entre les déclarations dans les modules 'MonProjet.My.Resources.Resources' et '
    .My.Resources.Resources'.    C:\Users\Clément\Documents\Visual Studio 2013\Projects\MonProjet\MonProjet\FormPrincipale.vb
    ainsi que cette erreur pour chaque ressource :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    module 'Resources' et module 'Resources', déclarés dans 'C:\Users\Clément\Documents\Visual Studio 2013\Projects\MonProjet\My Project\Resources.Designer.vb', sont en conflit dans namespace 'Resources'.    C:\Users\Clément\Documents\Visual Studio 2013\Projects\
    \MonProjet\My Project\Resources2.Designer.vb
    Heureusement que j'ai pu restaurer les fichiers vb avec Dropbox car impossible de les récupérer...

    Savez vous d'où cela peut venir ?

    Merci.
    Pensez à voter pour une réponse qui vous aide ou pour une personne insolente !
    Si votre sujet est résolu, cliquez sur le bouton !

  2. #2
    Membre émérite Avatar de meziantou
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Points : 2 439
    Points
    2 439
    Par défaut
    Impossible de charger le fichier ou l'assembly 'CodeFluent.Runtime.Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1bb6d7cccf1045ec' ou une de ses dépendances. Le fichier spécifié est introuvable.
    Plusieurs possibilités:
    - La dll n'est pas présente dans le dossier contenant ton exécutable.
    - La dll CodeFluent.Runtime.Client cible .NET4 Client Profile. Si ton application cible .NET 3.5 ça ne fonctionne pas.
    http://msdn.microsoft.com/en-us/libr.../wkze6zky.aspx


    J'ai donc tenté de l'ajouter aux ressources et de l'extraire avant d'utiliser les fonctions de la DLL. Le fait d'ajouter la DLL aux ressources m'a complètement cassé le projet,
    Etrange... Au vu des messages d'erreur tu as dû faire une mauvaise manipulation et tu as créer 2 fichiers de resources : "Resources2.Designer.vb"

    Si tu veux tu peux combiner ton exécutable et la CodeFluent.Runtime.Client.dll.

  3. #3
    Membre habitué Avatar de CLeBeR
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    Bonjour,

    J'ai réussi à contourner le problème, j'ai ajouté la DLL dans l'installateur qui lui ne posait pas de problème lors de l'insertion de la ressource, ainsi j'extrais la DLL dans le répertoire de mon application.

    Cependant, j'ai essayer de faire un projet de test dans le but d'arriver à intégrer et extraire la ressource automatiquement dans la même application. Je n'ai pas le bug des ressources en double lorsque j'ajoute le DLL, cependant, même en essayant de l'extraire dès le chargement du formulaire, j'ai quand même le problème de DLL manquante ... Avez-vous ce même problème ? Voici ci-dessous le lien de téléchargement du projet de test :

    https://dl.dropboxusercontent.com/u/...FluentTest.zip
    Merci.
    Pensez à voter pour une réponse qui vous aide ou pour une personne insolente !
    Si votre sujet est résolu, cliquez sur le bouton !

  4. #4
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    ...et en procédant comme dans ce tuto pour fusionner la librairie dotnet codefluent :
    http://www.developpez.net/forums/d14...s/#post7800698

    --------------------------------

    Il est important de savoir que lorsque tu supprimes une resource depuis le gestionnaire de l'EDI :

    http://imabox.fr/a3/1406081303HPVHmd25.png

    Qu'il faille également la supprimer manuellement dans le dossier "Resources" (depuis l'explorateur de solutions) :

    http://imabox.fr/a3/1406081306JE60EM30.png

    Si tu ne le fais pas alors lorsque tu ajouteras une resource portant le même nom (que la resource supprimée précédemment), elle sera renommée (ex : DNR1.ico)

    EDIT : après avoir fais quelque tests, il apparaît que lorsqu'on ajoute l'assembly "CodeFluent.Runtime.Client.dll" dans les resources que le répertoire "Resources" dans l'explorateur de solutions ne se créé pas automatiquement !!! Je m'en suis rendu compte car dans mon tuto cité supra lorsque j'ajoute mes 2 assemblys dotnet le répertoire "Resources est créé automatiquement et ainsi les 2 fichiers dll sont embarqués dans l'exécutable final.

    En revanche j'ai fusionné l'assembly "CodeFluent.Runtime.Client.dll" à l'exécutable "CodeFluent.exe" avec SmartAssembly (sans autres fioritures....) et lors de l'exécution du binaire résultant tout fonctionne.

    Un éclaircissement est effectivement le bienvenue..... Pour info je suis sous EDI VS2013 avec le framework cible 4.5.1.

    Merci.


    ++

  5. #5
    Membre habitué Avatar de CLeBeR
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    Bonjour,
    en ajoutant dans les événements de l'application (Projet --> Propriété de <Projet> --> Bouton : "Afficher les événements de l'application") ce code, la DLL se copie automatiquement, le problème est résolu pour mon projet de test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Protected Overrides Function OnStartup(eventArgs As ApplicationServices.StartupEventArgs) As Boolean
                Dim currentDomain As AppDomain = AppDomain.CurrentDomain
                AddHandler currentDomain.AssemblyResolve, AddressOf MyResolveEventHandler
     
                Return MyBase.OnStartup(eventArgs)
            End Function
     
            Private Shared Function MyResolveEventHandler(sender As Object, args As ResolveEventArgs) As Assembly
                Dim baseResourceName As String = Assembly.GetExecutingAssembly().GetName().Name + "." + New AssemblyName(args.Name).Name
                If baseResourceName.Contains("CodeFluent.Runtime.Client") Then
                    Dim assemblyData As Byte() = My.Resources.CodeFluent_Runtime_Client
                    Return Assembly.Load(assemblyData)
                End If
     
                Return Nothing
            End Function
    Cependant j'ai toujours le problème de ressource ambigu lorsque j'ajoute la DLL aux ressources de mon vrai projet. De plus, j'ai un message étrange lorsque je lance l'Application Events :




    Cordialement.
    Pensez à voter pour une réponse qui vous aide ou pour une personne insolente !
    Si votre sujet est résolu, cliquez sur le bouton !

  6. #6
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Je ne sais toujours pas pourquoi cette dll ne s'affiche pas dans le répertoire "Resources" du projet (répertoire non créé automatiquement au passage) mais bon le comportement de l'application indique qu'elle est finalement présente dans le projet :

    http://wallace87000.upd.fr/CodeFluentProject.7z

    A+

  7. #7
    Membre habitué Avatar de CLeBeR
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    Salut wallace1,
    Tout comme mon projet de test, le tien marche parfaitement lorsque l'on ajoute la DLL aux ressources. Comme je te l'ai dit plus haut, dans mon vrai projet lorsque j'ajoute la DLL, le problème de ressource se crée. Aurais-tu une petite idée de où cela pourrait venir ?
    Merci.
    Pensez à voter pour une réponse qui vous aide ou pour une personne insolente !
    Si votre sujet est résolu, cliquez sur le bouton !

  8. #8
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par CLeBeR Voir le message
    Comme je te l'ai dit plus haut, dans mon vrai projet lorsque j'ajoute la DLL, le problème de ressource se crée. Aurais-tu une petite idée de où cela pourrait venir ?
    Merci.
    Etant donné que tout fonctionne bien en projet de test alors il faudrait certainement songer à en dire davantage sur ton vrai projet ! Sans ça nous ne pourront pas faire grands chose pour t'aider !

    Mais bon je me rassure car à chaque fois tu finis toujours par trouver "toi-même" la solution à ton problème à la suite de longs échanges......tu es un pro pour ca.......

    A+

  9. #9
    Membre habitué Avatar de CLeBeR
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    Bonjour,
    wallace de quelles informations as-tu besoin ?
    Merci de ton aide.
    Pensez à voter pour une réponse qui vous aide ou pour une personne insolente !
    Si votre sujet est résolu, cliquez sur le bouton !

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/04/2014, 18h39
  2. Netbeans 6.0 - GlassFishV2 : Classe Main du client invisible au runtime
    Par davisumboy dans le forum Glassfish et Payara
    Réponses: 6
    Dernier message: 21/02/2008, 18h31
  3. Réponses: 4
    Dernier message: 04/02/2008, 10h43
  4. [Visual studio 2005] - Assembly introuvable
    Par Anto03 dans le forum Visual Studio
    Réponses: 0
    Dernier message: 02/09/2007, 18h24
  5. [Runtime]Quelle API pour ne pas impacter le client?
    Par Jean_Benoit dans le forum C++Builder
    Réponses: 1
    Dernier message: 28/11/2006, 10h38

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