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 :

NameSpace, web.config et Imports


Sujet :

ASP.NET

  1. #1
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut NameSpace, web.config et Imports
    Alors dérrière ce titre un peu bizarre ce cahce une question qui va être complexe, je préssens.

    Dans mon web.config j'ai mis ça (par fénéantise) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <namespaces>
    <clear/>
    <add namespace="System"/>
    <add namespace="System.Data"/>
    <add namespace="System.IO"/>
    <add namespace="ProjetX"/>
    <add namespace="ProjetX.Outils"/>
    </namespaces>
    ProjetX c'est mon NameSpace à moi. J'ai créé quelques Classe externe (les fichier .vb qui sont dans le répertoire App_Code) dont un qui porte le nom Outils et qui contitnet en début :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Imports Microsoft.VisualBasic
     
    Namespace ProjetX
    	Public Class Outils
    Je disais donc par fénéantise car le fait de mettre la dernière ligne dans le web.config me permet de ne pas faire un Imports dans chaque page et d'appeller les fonctions et procédures de la classe Outils sans plus de chemin ou de préfixe.

    Sauf que, lorsque je fait F5 pour lancer le débogage il me dit :
    Une directive d'espace de noms using ne peut être appliquée qu'aux espaces de noms*; 'ProjetX.Outils' est un type, pas un espace de noms
    Du coup, si je supprime la ligne du web.config j'ai quelques centaine de ligne à refaire ou quelques dizaine d'imports à mettre en haut des pages et si je la garde, il me fini pas la compilation et me lance pas le déboguer.
    Par contre, si le site est appellé directement dans un navigateur, ben tout va bien.

    Avez vous une idée pour corriger ce souci à moindre cout (de correction dans les pages) et éventuellement une petite explication, parce que je crois que j'ai pas tout compris au NameSpace.

    Merci d'avance.

  2. #2
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    une question qui va être complexe, je préssens.
    Meuh non, hihihi

    Comme dit dans le message d'erreur ProjectX.Outils est un type (une classe en l'occurence) et non un espace de noms...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Imports Microsoft.VisualBasic
     
    Namespace ProjetX.Outils
     
    Public Class OutilEmailing
        Public Sub New()
        End Sub
    End Class
     
    End Namespace

  3. #3
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Merci pour ton aide.

    J'ai essayé cette tournure avec ce NameSpace, mais je n'ai plus aucune référence qui fonctionne.

    Ou alors il faut aussi que je change le nom de ma classe de Outils vers OutilsGeneraux ?

    Précision : je n'ai pas de New dans ma classe Outils, juste une suite de procédure et de Fonction.

    Par contre, je ne saisi pas trés la différence entre un type et un NameSpace, du moins dans l'expression du message d'erreur. Et surtout, je ne comprends pas pourquoi ça fonctionne alors que la compilation le rejette.

  4. #4
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Re,
    Ou alors il faut aussi que je change le nom de ma classe de Outils vers OutilsGeneraux ?
    Outils c'est un namespace pas une classe ?

    As-tu des classes-outils ? Si tu n'as qu'une seule classe qui s'appelle Outils, alors l'espace de nom à importer est ProjectX.

    la différence entre un type et un NameSpace
    Un namespace ca sert simplement à architecturer ton programme. Tu ne peux pas t'en servir à proprement parlé.

    Par exemple Dim Projet as New ProjectX ne fera rien, ProjectX n'est pas un type, juste un espace de noms où on range des types.

    Un type bah, c'est un type quoi, une classe, une structure, un Int32 etc..

  5. #5
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Ok, je vois un peu mieux.
    J'ai donc remis un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Imports ProjectX.Outils
    dans toutes mes pages. c'est un peu chaint, mais visiblement, c'est plus propre.

    Ce que je ne capte pas c'est surtout pourquoi le FrameWork permet de faire ça dans le web.config, qu'il le fait fonctionner correctement lors d'une utilisation directe du site mais que la compilation le refuse.

    Enfin, je crois que je vais continuer avec les Imports, ça me parait plus propre.

    Merci pour ton aide, j'y vois un peu plus clair et surtout, mon débogeur fonctionne maintenant, c'est LuteceFalco qui va être content.....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme NameSpace Web.Config
    Par kh.akram09 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 23/05/2012, 17h00
  2. [WebForms][Web.config] customErrors
    Par diaboloche dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 26/10/2005, 13h13
  3. [WebForms][Web.config] Stocker les chaine de connexion
    Par bossun dans le forum Général Dotnet
    Réponses: 15
    Dernier message: 19/08/2005, 15h34
  4. [CR][ASP.Net]Connection base de données / web.config
    Par Dozer71 dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 10/05/2005, 08h41
  5. [C#] Section appSettings du fichier Web.config
    Par pbo dans le forum ASP.NET
    Réponses: 2
    Dernier message: 01/02/2005, 10h12

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