none
Connexion à la BDD - Erreur de compilation CS0246 RRS feed

  • Question

  • Bonjour à tous,

     

    Je me permet de vous contacter car j'ai un gros problème pour me connecter à ma BDD et cela fait 2 jours et demi que ca dure !!! (Je suis à bout de nerf !!!).

    Je suis encore novice en ASP .NET et je développe à l'aide de Web Matrix (dérivé de Visual Studio).

    Je vous expose mon problème :

     

    Je travaille deux machines : une machine pour le code et un serveur pour stocker mes données. Ces deux machines sont connectées à l'aide d'un switch. La connexion marche très bien entre les deux (Donc ne me dites pas SVP que c'est un problème de connexion !!!). J'ai créer mon serveur web IIS sur mon serveur Windows Server 2003 à l'emplacement : C:\Inetpub\wwwroot\SITE_COTIC. Ici, j'ai crée un répertoire virtuel Savoirs. J'ai testé certains fichiers et ils marchent. Tous les fichiers .aspx compilent et affichent correctement ce que je demande. Voila mon code :

     

    Maintenant, le problème est que j'ai crée un dossier Outils contenant une classe Utils.cs (me permettant d'accéder à la base de données) que j'ai compilé sur ma console (en tapant csc /t:library ...) et la compilation est réussi sans erreur ni warning. Voila mon code pour la classe Utils.cs :

     

    using System.Configuration;
    using System.Web;


    namespace Savoirs.Outils {
        using System;

        /// <summary>
        /// Summary description for OutilsBDD.
        /// </summary>
        public class OutilsBDD {
            public static SqlDataReader GetDataReader( string sRequete )
            {
                string sParamConnexion = (string)ConfigurationManager.AppSettings["ConnectString"];
                SqlConnection scConnexion = new SqlConnection( sParamConnexion );
                scConnexion.Open();
                SqlCommand scCommande = new SqlCommand( sRequete, scConnexion );

                // CommandBehavior.CloseConnection provoque la fermeture de la connexion
                // lors de la fermeture du DataReader
                SqlDataReader sdr = scCommande.ExecuteReader( CommandBehavior.CloseConnection );
                return sdr;
            }

            /// <summary>
            /// Creates a new instance of OutilsBDD
            /// </summary>
            public OutilsBDD() {
            }
        }
    }

     

     Ensuite, j'ai crée un contrôle utilisateur (.ascx) nommé ListeDoc.ascx (contenant une liste des documents que je veux afficher à travers une ListBox) dont les entêtes sont :

     

    <%@ Control language="C#" %>

    <% import Namespace="System.Data.Common" %>

    <% import Namespace="System.Data.SqlClient" %>

    <% import Namespace="Savoirs.Outils" %>

     

    Enfin, ma page .aspx que je nomme Test_connexionBDD qui me permet d'afficher le contrôle utilisateur que j'ai crée dont le code est le suivant :

     

    <%@ Page Language="C#" %>
    <%@ Register TagPrefix="uc1" TagName="ListeDoc" Src="Documents/ListeDoc.ascx" %>
    <%@ import Namespace="Savoirs.Outils" %>
    <script runat="server">

     

    </script>
    <html>
    <head>
        <link href="Style.css" type="text/css" rel="stylesheet" />
    </head>
    <body>
        <form runat="server">
            <!-- Insert content here -->
            <UC1:ListeDoc id="ListeDoc1" runat="server"></UC1:ListeDoc>
        </form>
    </body>
    </html>

     

    Lorsque je lance mon application via le lien : http://@IP de mon Serveur/SITE_COTIC/Savoirs/Test_connexionBDD.aspx

    J’obtiens le résultat suivant :

     

    Compilation Error

    Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

    Compiler Error Message: CS0246: The type or namespace name 'Savoirs' could not be found (are you missing a using directive or an assembly reference?)

    Source Error:

     

    Line 2:  <%@ import Namespace="System.Data.Common" %>
    Line 3:  <%@ import Namespace="System.Data.SqlClient" %>
    Line 4:  <%@ import Namespace="Savoirs.Outils" %>
    Line 5:  
    Line 6:  <script runat="server">


    Source File: C:\Inetpub\wwwroot\SITE_COTIC\Savoirs\Documents\ListeDoc.ascx    Line: 4

     

    Ce qui est bizarre, incompréhensible et énervent, c'est que le dossier Savoirs EXISTE, le namesapce de ma classe Utils.cs est Savoirs.Outils et j'ai retourné le problème une centaine de fois dans ma tête et je n'arrive vraiment pas à voir le problème (mais comme je suis encore NOVICE ...)

     

    Donc, si vous avez une solution, merci de bien vouloir me répondre.

    Je vous remercie d'avance (et désolé d'avoir écrit autant pour expliquer mon problème)...

     

     

     

    • Déplacé Siddharth Chavan mercredi 7 juillet 2010 06:08 Forums Consolidation (Origine :Forum du coach ASP.NET)
    jeudi 3 juillet 2008 10:10

Toutes les réponses

  • mettre dans web.config

    <

     

    system.web>

    <

     

    pages>

    <

     

    controls>

    <

     

    add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

    <

     

    add tagPrefix="uc1" namespace="Savoirs.Outils"/>

    </

     

    controls>

    </

     

    pages>

    mardi 29 décembre 2009 14:44
  • Bonjour,

    Si la réponse de Othniel60 ne suffit pas, essayez de placer la DLL dans le dossier bin de l'application web (contrairement à Java je crois, les namespaces et l'emplacement où se trouvent les DLLs n'ont aucun rapport).

    Acessoirement et bien que cela n'ait pas de rapport direct avec le sujet, WebMatrix est bien vieux. Sauf si la machine de développement, ne le supporte pas je passerai tout de même sur Visual Web Developer Express (2010 ou 2008 au pire). Cela permettra d'avoir le site web et toutes les DLL support dans la même solution, permettant de regénérer automatiquement la DLL uniquement si son code source a été modifié et de placer le résultat dans le bon dossier (référencer le *projet* DLL à partir du projet Web et non pas la DLL directement).


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    mercredi 7 juillet 2010 12:34
    Modérateur
  • Au temps pour moi, je viens de voir sur le blog de ScottGu que WebMatrix est de retour dans une nouvelle incarnation...
    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    mercredi 7 juillet 2010 16:01
    Modérateur
  • Bonjour issou75,

    Est-ce que vous avez résolu votre problème ?

    Merci d’avance de tenir la communauté informée sur la suite de vos démarches.

    Cordialement,
    aelassas.free.fr
    vendredi 28 octobre 2011 22:47
    Auteur de réponse