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 :

Ajouter un controle personalisé à la boite à outils


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 16
    Par défaut Ajouter un controle personalisé à la boite à outils
    Bonjour à tous,

    Je n'arrive pas à ajouter un contrôle personnalisé à un nouveau projet. Dans le détail (et clairement) voici ce que j'ai fait:

    [Visual Studio 2022]
    Erreur = "XXXXXX.dll cible une plateforme dont les éléments de boite à outils ne peuvent pas être énumérés dynamiquement"

    1) J'ai crée un nouveau projet ayant pour modèle "Windows form" que je nomme MonPanelPersonnalise
    2) Dans ce projet, j'ai crée une class personnalisée de panneau qui hérite de la classe panel
    3) Les méthodes de ma classes sont publiques (mais à priori ça ne change rien, qu'elles soient publiques ou non j'ai le même message d'erreur à la fin)
    3) J'ai paramétré le type de sortie de mon projet à "bibliothèque de classes" (dans l'explorateur de solutions, je me place sur mon Projet puis Alt + Entrée pour ouvrir ses propriétés)
    4) Dans Projet>Gestionnaire de configurations, la plateforme active est réglée sur "Any CPU"
    5) Je crée un build de mon projet (Générer>Générer la solution)
    6) Je vais dans le dossier de ma Solution puis bin\Debug\net6.0-windows\MonPanelPersonnalise.dll puis je copie cette dll dans un autre dossier, le bureau par exemple.
    7) Enfin, dans un autre projet (toujours de modèle "Windows form"), je clique droit sur ma boite à outil puis "Ajouter un onglet" afin de créer un groupe de contrôles personnalisés
    8) De nouveau dans la boite à outils, clic droit puis "Choisir des éléments"
    9) La boite de dialogue "Choisir des éléments de boite à outils s'ouvre"
    10) Dans l'onglet "Composants .NET Framework", je clique sur "Parcourir", je choisis le fichier copié à l'étape 6.
    11) Et là, l'erreur suivante s'affiche: "C:\Blablabla\MonPanelPersonnalise.dll cible une plateforme dont les éléments de boite à outils ne peuvent pas être énumérés dynamiquement"

    Sauriez vous quel est le problème?
    Merci beaucoup pour votre aide, je bloque complètement

  2. #2
    Membre éprouvé Avatar de excalybur
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2014
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2014
    Messages : 317
    Par défaut
    Bonjour

    Je me demande si ta réponse n'est pas là : https://learn.microsoft.com/fr-fr/vi...w?view=vs-2022

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 16
    Par défaut
    Bonsoir, malheureusement étant novice je n'ai pas réussi à solutionner le problème. La seule chose que j'ai su faire c'est mettre à jour la sdk en .net 8.0, mais comme j'ai ciblé .net 6.0, ça ne change rien au final... j'ai beau chercher je n'ai pas compris d'où vient le problème. Merci quand même...

  4. #4
    Membre éprouvé Avatar de excalybur
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2014
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2014
    Messages : 317
    Par défaut
    Bonjour,

    J'ai essayé de comprendre ta configuration mais il me manque de nombreux éléments, par exemple de quelle boite à outils parle-tu ? etc.

    Pour que nous puissions essayer de t'aider, peux-tu nous donner plus d'info par exemple : code, captures d'écran => une sorte de visuel de ton parcours et des problèmes, framework de chaque application, etc. ?

    A+

  5. #5
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 972
    Par défaut
    Je dis peut-être une bêtise mais il me semble que l'ajout de composant dans la boite à outil via une DLL ne fonctionne pas en CORE.

    C'est que semble confirmer cette discussion.
    https://developercommunity.visualstu...s-tool/1626082

    Par contre, si tu copies les sources de ton composant dans ton nouveau projet, cela devrait fonctionner.

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 545
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 545
    Par défaut
    Comme le dit le lien, il faut créer le package nuget de ce controle; une case à cocher dans les propriétés du projet du contrôle (partie Package > General: "Génerer le package NuGet en même temps que la build". A la génération, ça va créer un fichier [projet].[version].nupkg dans le dossier bin/release

    et dans le projet où tu veux le rajouter, ajouter une source de recherche des packages NuGet vers un dossier dans lequel tu aura mis le fichier nupkg généré (Menu Outils> gestionnaire de package Nuget >Paramètres du gestionnaire de package et dans sources de package, ajouter une entrée en cliquant sur le + et remplissant un nom et le chemin du package)
    ensuite, dans les packages Nuget, choisir la nouvelle source et tu devrais vois apparaitre celui de ton contrôle.

    Après, la solution la plus facile est celle de rajouter le projet du contrôle à ta solution (proposée par popo), ça permet de pouvoir aussi déboguer le contrôle sans faire un tas de manip.

Discussions similaires

  1. [XL-2010] Problème d'ajout de contrôles supplémentaires dans la boite à outils du UserForm
    Par TSAFACK-M dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 07/09/2016, 12h31
  2. Ajouter contrôle à la Boîte à outils
    Par menyarito dans le forum Visual Studio
    Réponses: 1
    Dernier message: 09/04/2011, 15h40
  3. [2005] Ajout d'un icone dans boite à outils
    Par mexong dans le forum Visual Studio
    Réponses: 1
    Dernier message: 21/01/2008, 14h32
  4. Réponses: 14
    Dernier message: 26/09/2007, 19h20
  5. Réponses: 2
    Dernier message: 01/04/2007, 15h28

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