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

ASP.NET Discussion :

CS0117: 'Actes' ne contient pas de définition pour 'Select'


Sujet :

ASP.NET

  1. #1
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut CS0117: 'Actes' ne contient pas de définition pour 'Select'
    Bonjour,

    J'utilise VS2005.

    Cela fait plusieurs fois que j'ai cette erreur sur plusieurs classes différentes.
    • Une page aspx fait appel à une classe "Actes" ayant une méthode "Select".
    • Toutes les classes fonctionnent et compilent bien sauf le site web qui renvoi cette erreur.
    • Il suffit que je recopie le code dans une nouvelle classe et mon code remarche.

    Qqn a-t-il une idée de ce qui se passe?

    Merci
    "Winter is coming" (ma nouvelle page d'accueil)

  2. #2
    Membre Expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Par défaut
    Sans doute une problème au niveau de la mise à jour de la référence de l'assembly dans le site web non ?

    Ta classe en question est dans un projet séparé ?

  3. #3
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Merci pour la réponse

    Oui, dans ma solution j'ai 4 projets:
    • Model qui gère les entités (commun à tous les projets)
    • Site Web
    • Couche logique business
    • Couche d'accès aux données

    Que puis-je faire sur l'assembly dans ces cas là? Dois-je supprimer et recréer la référence?

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  4. #4
    Membre Expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Par défaut
    Ca dépend de la manière dont tu as défini la dépendance... Tous les projets sont-ils dans la même solution (dans ce cas, il faut placer une dépendance projet), sinon, s'ils sont dans des solutions différentes, il faut en effet supprimer puis remettre la référence quand elle est modifiée.

  5. #5
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Ils sont dans la mm solution.
    • Couche accès données (DAL) dépend de Model
    • Couche business (BLL) dépend de DAL et Model
    • Site Web dépend de BLL et Model

    L'ordre de compilation est:
    1. Model
    2. DAL
    3. BLL
    4. Site Web

    Tout se passe bien jusqu'au niveau de la BLL. Après le site ne trouve plus les méthodes. De plus, quand je supprime le "using BLL" tous les appels aux classes sont correctement soulignées (comme n'ayant pas d'objet correspondant) sauf la classe "Acte" qui reste en noir.

    Merci de ton aide.
    "Winter is coming" (ma nouvelle page d'accueil)

  6. #6
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    Ca m'arrive d'avoir ca, dans ces cas suivants :
    - vieille dll dans le bin (reference sur le projet, mais la dll n'est pas effacee a la compil...a l'insu de mon plein gre)
    - le projet business qui ne compile plus
    - la classe business mise dans le gac, et que j'ai oublie de mettre a jour

    Apres, sinon, un bon clean et ca repart

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  7. #7
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    - vieille dll dans le bin (reference sur le projet, mais la dll n'est pas effacee a la compil...a l'insu de mon plein gre)
    J'ai beau effacer les dll ça ne marche pas plus
    - le projet business qui ne compile plus
    Chez moi il compile très bien
    - la classe business mise dans le gac, et que j'ai oublie de mettre a jour
    Le GAC?? C'est quoi?
    le clean ne donne rien...

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  8. #8
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    Le GAC?? C'est quoi?
    Regarde si tu trouves ta dll dans C:\WINDOWS\assembly -> cache des dll


    Sinon, je viens de voir ca :
    De plus, quand je supprime le "using BLL" tous les appels aux classes sont correctement soulignées (comme n'ayant pas d'objet correspondant) sauf la classe "Acte" qui reste en noir.
    Quand tu enleves using BLL, si tu fais clic droit->Go to declaration (suis en vs anglais...) sur Acte, tu arrives sur quoi ?

    apres...faudrait voir la bete

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  9. #9
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Qd je survole "Acte" il me propose le using. Sinon, il ne parvient pas à naviguer jusqu'à la déclaration. Or qd je mes le using il y parvient, il trouve même la méthode...

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  10. #10
    Membre Expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Par défaut
    Quelles sont les attributs de visibilité de ta classe et des méthodes ?

  11. #11
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Public

    A+

    Demain je te mes le code.
    "Winter is coming" (ma nouvelle page d'accueil)

  12. #12
    Membre Expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Par défaut
    Bonne idée, avec le code on n'y verra surement plus clair !

  13. #13
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Page web du site
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    using SH.Model;
    using SH.BLL;
     
    public partial class Index : BasePage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            ActeEntity a = new ActeEntity();
            a = Actes.Select(123);
        }
    }
    BLL.Actes
    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
    17
    18
    19
    20
    21
    using System;
    using System.Collections.Generic;
    using System.Text;
     
    using SH.Model;
    using SH.DAL;
     
    namespace SH.BLL
    {
        public class Actes
        {
            public Actes() { }
     
            public static ActeEntity Select(int id)
            {
                ActeEntity obj = null;
                obj = new ActeProvider().Select(id);
                return obj;
            }
        }
    }
    Voilà, pour info le mm code dans d'autres classes ne pose pas de pb.

    Merci de ton aide.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  14. #14
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Déjà on ne comprend pas pourquoi tu instancies dans le premier bloc un objet ActeEntity, alors que tu écrases sa référence à la ligne suivante (mais c'est pas cela qui crée le problème, c'est juste a priori illogique - sauf exploitation d'effets de bord liés à l'instanciation, mais cela suppose un design un peu "tordu").

  15. #15
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    mais c'est pas cela qui crée le problème
    Effectivement.
    "Winter is coming" (ma nouvelle page d'accueil)

  16. #16
    Membre Expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Par défaut
    Et la classe ActeProvider, elle est codée comment ? (dans les grandes lignes)

  17. #17
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Voici la partie qui concerne le select:
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data.Common;
    using System.Data;
    using System.Configuration;
    using SH.Model;
     
    namespace SH.DAL
    {
        public class ActeProvider
        {
            public ActeProvider() { }
     
            #region Basics Select, Delete, Update, Insert
     
            public ActeEntity Select(int id)
            {
                ActeEntity obj = new ActeEntity();
                IDataReader dr = null;
                DBFactory db = DBFactory.GetInstance();
                db.Command.CommandType = CommandType.Text;
     
                obj = null;
     
                try
                {
                    dr = db.ExecuteReader("SELECT * FROM [ACTE] WHERE [ACT_ID] = " + id.ToString());
                    if (dr.Read())
                    {
                        obj = this.LoadFromReader(dr);
                    }
                }
                finally
                {
                    if (dr != null) dr.Dispose();
                }
                return obj;
            }
     
            private ActeEntity LoadFromReader(IDataReader reader)
            {
                ActeEntity obj = new ActeEntity();
                if (reader != null && !reader.IsClosed)
                {
                    TimeSpan ts = new TimeSpan();
     
                    obj.Id = Convert.ToInt32(reader["ACT_ID"]);
                    obj.LieuId = Convert.ToInt32(reader["LIEU_ID"]);
                    obj.HebId = Convert.ToInt32(reader["HEB_ID"]);
                    obj.TieId = Convert.ToInt32(reader["TIE_ID"]);
                    obj.Version = Convert.ToInt32(reader["ACT_VERSION"]);
                    obj.Reference = Convert.ToString(reader["ACT_REF"]);
                    obj.DateDebut = Convert.ToDateTime(reader["ACT_DATE_DEBUT"]);
                    obj.DateFin = Convert.ToDateTime(reader["ACT_DATE_FIN"]);
                    obj.DateReservation = Convert.ToDateTime(reader["ACT_DATE_DE_CREATION"]);
                    obj.HebNom = Convert.ToString(reader["HEB_NOM"]);
                    obj.LieuNom = Convert.ToString(reader["LIEU_NOM_FR"]);
                    obj.TieNom = Convert.ToString(reader["TIE_NOM"]);
                    obj.ActMontant = Convert.ToDecimal(reader["ACT_MONTANT"]);
                    obj.NbNarticipants = Convert.ToInt32(reader["ACT_PARTICIPANT"]);
                    obj.Langue = Convert.ToString(reader["LANGUE"]);
                }
                return obj;
            }
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/08/2009, 15h44
  2. Réponses: 0
    Dernier message: 15/07/2009, 17h20
  3. Réponses: 0
    Dernier message: 16/02/2009, 23h19
  4. Réponses: 2
    Dernier message: 16/04/2008, 13h40
  5. Réponses: 1
    Dernier message: 10/01/2007, 09h39

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