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 :

Mon code Behind n'est pas pris en compte.


Sujet :

ASP.NET

  1. #1
    Membre habitué
    Avatar de Spidermeu
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 147
    Points : 151
    Points
    151
    Par défaut Mon code Behind n'est pas pris en compte.
    Bonjour,
    je suis actuellement en train de faire une modification sur un "vieux site web" en asp.
    La modification doit être faites sur une seule page. Sous visual studio, ma modification fonctionne parfaitement (il s'agit de masquer une zone de texte en fonction du rôle de l'utilisateur, en utilisant Visible=false). J'ai seulement modifié ma page dans le fichier maPage.aspx.cs.

    Ensuite j'ai précompilé le site et j'ai copié/collé la fameuse page modifié dans le site web en production. Et à l'exécution, c'est comme ci mon code ajouté n'est pas interprêté. J'ai même essayé d'ajouter du texte en faisant un lbl.Text+= "truc" et rien ne s'affiche. Je ne comprend pas.
    Comment résoudre se soucis ?

    Vous l'aurez remarqué, je suis un débutant .
    Merci d'avance

  2. #2
    Expert éminent
    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
    Points : 9 512
    Points
    9 512
    Par défaut
    Salut,

    As-tu recopié les dll générées?

    A+

  3. #3
    Membre habitué
    Avatar de Spidermeu
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 147
    Points : 151
    Points
    151
    Par défaut
    ah non .

    Je croyais qu'une page aspx + une page aspx.cs = une page aspx compilé ?

  4. #4
    Expert éminent
    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
    Points : 9 512
    Points
    9 512
    Par défaut
    Citation Envoyé par Spidermeu Voir le message
    Ensuite j'ai précompilé le site et j'ai copié/collé la fameuse page modifié dans le site web en production
    Si tu recopie la page aspx et son code behind il ne devrait pas y avoir de soucis.

  5. #5
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 254
    Points
    28 254
    Par défaut
    Citation Envoyé par Spidermeu Voir le message
    ah non .

    Je croyais qu'une page aspx + une page aspx.cs = une page aspx compilé ?
    non non
    2 pages aspx + 2 fichiers aspx.cs = 2 pages aspx intouchées + 1 dll
    c'est justement la dll qui contient le code compilé

  6. #6
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Citation Envoyé par Louis-Guillaume Morand Voir le message
    non non
    2 pages aspx + 2 fichiers aspx.cs = 2 pages aspx intouchées + 1 dll
    c'est justement la dll qui contient le code compilé
    Pour une WebApp mais pas pour un WebSite.
    A moins que je me trompe

  7. #7
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    Je plussoie Lutece...

  8. #8
    Membre habitué
    Avatar de Spidermeu
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 147
    Points : 151
    Points
    151
    Par défaut
    Dans le site en production, il n'y a aucun fichier aspx.cs. Par contre,dans la page d'origine ( donc avant modification) j'ai la directive ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <%@ Page language="c#" Codebehind="MaPage.aspx.cs" AutoEventWireup="false" Inherits="ASPNET.StarterKit.Portal.ModulesPages.MaPage" smartNavigation="True"%>
    Alors que moi pour compiler avec succès ma modification sous VS2005, j'ai du modifier la directive comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ page language="c#" inherits="ASPNET.StarterKit.Portal.ModulesPages.MaPage, App_Web_fyyfn90v" smartnavigation="True" %>
    D'ailleurs, je ne comprend pas le App_Web_fyyfn90v.

    Mais cette directive est pas prise en compte pas le site en production, je suis obligé de mettre la directive d'origine :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <%@ Page language="c#" Codebehind="MaPage.aspx.cs" AutoEventWireup="false" Inherits="ASPNET.StarterKit.Portal.ModulesPages.MaPage" smartNavigation="True"%>

  9. #9
    Membre habitué
    Avatar de Spidermeu
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 147
    Points : 151
    Points
    151
    Par défaut
    Je comprend vraiment rien. Quand je publie le site web sous Visual Studio, il me le précompile (alors que je voudrais qu'il me le compile). J'ai plein de DLL dans le dossier bin qui représente très certainement les .cs de mes pages aspx, sauf que dans le site de prod, il n'y a que 3 DLL...

  10. #10
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    Il existe plusieurs mode de compilation. Sur ta machine de dev il semble que tu ne regroupe pas tes dll en une seule. alors que la machine de prod , il semblerait que cela ait été fait.

    La premiere question a laquelle tu dois etre capable de répondre est : est ce que tu travaille avec un site web ou une application web, en effet le mode de compilation est legerement différent?

    ensuite, on pourra s'insteresser á tes options de compilation.

  11. #11
    Membre habitué
    Avatar de Spidermeu
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 147
    Points : 151
    Points
    151
    Par défaut
    c'est un site web

    Par contre, dans le dossier précompilé, les DLL commence pas App_web_NomDeLaClasse.aspx.uneChaineHexa.dll

    Je suis actuellement en train de parcourir msdn pour trouver la solution et il semblerait qu'on ne puisse pas changer le code d'une page sans devoir recompiler complètement le site ?
    http://msdn.microsoft.com/fr-fr/library/20yh9f1b.aspx

  12. #12
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    Si c'est un site web la compilation se fait en dynamique. Cela signifie que tu n'as pas besoin de précompiler ton site. il le fera tout seul lors du premier appel.

    Donc pour faire tes tests en local pas de souci, si tu dispose des fichiers cs, la compilation se fais lors du premier appel, et des qu un fichier cs a changé.

    Par contre, sur ton serveur de prod, il semblerait que la compilation ait déja été faite. Lors de ton déploiement, tu auras deux solutions ou enlever les dll dans le repertoires bin, rajouter tous les cs sur le site en prod et attendre qu il compile tout seul, ou alors faire cette compilation avant et ne mettre en prod que les dll résultant de cette compilation.

    regarde sur visual studio, dans l'onglet buil il y a un "publish web site" qui pourrait t'aider, fais des tests en local pour comprendre comment ca fonctionne..

  13. #13
    Membre habitué
    Avatar de Spidermeu
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 147
    Points : 151
    Points
    151
    Par défaut
    justement, quand je fais "Publish web site", il ajoute un dossier nommé "Precompiled" et il me met la structure de mon site. Dans le dossier Bin, j'ai tout les dll qui semble représenter les .cs et j'ai App_Code.compiled, Add_code.dll App_global.asax.compiled et enfin App_global.aspx.dll


    EDIT : Il semblerait que le site est été développé sous VS2003 et selon une de mes connaissances, la compilation entre 2003 et 2005 est différente.

  14. #14
    Membre habitué
    Avatar de Spidermeu
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 147
    Points : 151
    Points
    151
    Par défaut
    Bon, j'ai finalement a peu près compris le fonctionnement pour la publication.
    Il me reste un problème très étrange : le namespace n'est pas reconnu quand je test le site sur IIS. En revanche en lancant le site sous VS2005, ca fonctionne bien.



  15. #15
    Membre habitué
    Avatar de Spidermeu
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 147
    Points : 151
    Points
    151
    Par défaut
    Bon, finalement je pense avoir trouver le problème. En faites, le site est basé sur un starter kit Microsoft.

    Quand je compile avec visual studio, il charge une DLL automatiquement le cache du framework, à savoir dans C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files.

    Cette DLL me permet de faire fonctionner le site sur VS2005. Seulement, lorsque je publie le site web sur un serveur IIS, cette DLL n'est pas prise en compte.
    J'ai donc téléchargé la fameuse DLL manquante (ASPNETPORTAL.DLL). Ils ne me reste plus qu'a l'insérer dans mon projet et tester.

    Je vous tiens au courant des que j'ai réussi a avancer.

  16. #16
    Membre habitué
    Avatar de Spidermeu
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 147
    Points : 151
    Points
    151
    Par défaut
    je pète un câble. j'insère la fameuse DLL et maintenant il ne sais plus quoi prendre :

    Error 1 Le type 'ASPNET.StarterKit.Portal.Global' est ambigu*: il peut provenir de l'assembly 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\MySolution\78100dd5\a91c63c\App_Code.ebmtljty.DLL' ou de l'assembly 'C:\Documents and Settings\Moi\Mes documents\Visual Studio 2005\Projects\Solution\MySolution\bin\ASPNETPortal.DLL'. Spécifiez l'assembly explicitement dans le nom du type. C:\Documents and Settings\Moi\Mes documents\Visual Studio 2005\Projects\Solution\MySolution\Global.asax 1
    La DLL n'est pas présente dans le dossier C:\windows\assembly....

    J'ai déjà supprimé le contenu du dossier C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET, mais ca change rien !

    Que faire ?

  17. #17
    Membre habitué
    Avatar de Spidermeu
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 147
    Points : 151
    Points
    151
    Par défaut
    Bon, je suis passé sous visual studio 2003. Il me prend bien toutes les DLL. En revanche, j'ai toujours un soucis. Je compile mais les modifications que j'effectue ne sont pas prise ne compte.
    De plus, j'ai constaté que dans mon site en production, il n'y a qu'une seule dll contenant un projet de type class library (je présume). Quand je compile avec VS2003, il m'en génère une de plus qui porte le nom du projet Web site.

    Est-il possible de compiler tout dans une unique DLL ?
    Sinon, est-il possible de ne pas généré de DLL pour le site web ?

    Merci d'avance

  18. #18
    Expert éminent
    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
    Points : 9 512
    Points
    9 512
    Par défaut
    Salut,

    Il y a une dll par projet et les sites web ne génèrent pas de dll. Seul les applications web génèrent une dll.

    A+

  19. #19
    Membre habitué
    Avatar de Spidermeu
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 147
    Points : 151
    Points
    151
    Par défaut
    Pourtant mon website génère bien une dll dans le dossier bin.

    Mon code behind n'est toujours pas pris en compte. Ca fait une semaine que j'essais de comprendre. Avez-vous une petite idée ? Les dlls sont bien générés et je n'ai aucune erreur.

  20. #20
    Expert éminent
    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
    Points : 9 512
    Points
    9 512
    Par défaut
    Citation Envoyé par Spidermeu Voir le message
    Pourtant mon website génère bien une dll dans le dossier bin.
    C'est donc une application web.

    Dans tous les cas, tu devrais utiliser le déploiement de Visual Studio par ftp. Il y a d'autres modes, mais c'est un bon moyen de laisser VS décider de ce qui doit être poussé sur ton site ou pas.

    Personnellement j'utilise deux modes de déploiement:
    • par HTTP sur le serveur de dev via les extensions FrontPage
    • par FTP sur les serveurs de prod


    Dans tous les cas je laisse VS faire.

    A+

Discussions similaires

  1. [MySQL] mon code en sql n'est pas pris en compte après un ">"
    Par boxster77 dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 30/11/2010, 14h58
  2. Mon fichier .css n'est pas pris en compte!
    Par Nicolas74 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 18/05/2010, 18h03
  3. [CSS 2.1] Mon fichier .css n'est pas pris en compte par Firefox 3.0.x
    Par anxious dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 11/12/2009, 13h56
  4. Mon code behind n'est pas exécuté sous Visual Web
    Par mourmaux dans le forum ASP.NET
    Réponses: 2
    Dernier message: 25/09/2008, 19h07
  5. Mon script cron n'est pas pris en compte
    Par tomnie dans le forum Linux
    Réponses: 11
    Dernier message: 31/03/2004, 11h19

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