OVH Cloud OVH Cloud

Mise en ligne

15 réponses
Avatar
Elo
Bonjour,

Je voudrais faire un test de mise en ligne d'un projet=20
web, mais =E7a plante.
J'ai copier sur le serveur dans un dossier =E0 part (pour=20
faire mes tests) les pages aspx (avec leur code behind,=20
et la page en resx), le r=E9pertoire bin (ou sont les dll=20
de mes classes), et le web.config.

Quand je regarde dans mon navigateur, il me met une=20
erreur :=20
Description: An application error occurred on the server.=20
The current custom error settings for this application=20
prevent the details of the application error from being=20
viewed remotely (for security reasons). It could,=20
however, be viewed by browsers running on the local=20
server machine.=20

Details: To enable the details of this specific error=20
message to be viewable on remote machines, please create=20
a <customErrors> tag within a "web.config" configuration=20
file located in the root directory of the current web=20
application. This <customErrors> tag should then have=20
its "mode" attribute set to "Off".

Mais ce que je ne comprends pas, c'est qu'il n'interpr=E8te=20
pas le web.config que j'ai mis en ligne...

Est-ce que quelqu'un voit ce qui ne va pas ?

Merci

5 réponses

1 2
Avatar
Elo
Quelle patience !

Primo : Qu'elle est l'erreur que tu a maintenant ? voir


si depuis hier
elle a changée



L'erreur :
Description: An error occurred during the parsing of a
resource required to service this request. Please review
the following specific parse error details and modify
your source file appropriately.

Parser Error Message: Could not load type 'Host.Global'.
Source Error:
Line 1: <%@ Application Codebehind="Global.asax.cs"
Inherits="Host.Global" %>

Deuzio : je parle de projet de déploiement car je t'ai


aidé sur un
projet de déploiement donc je pensais que c'était la


suite mais
visiblement tu a pris le parti de faire par copie



Finalement je le fais par copie, car je ne dispose pas
des droits sur le serveur pour exécuter le setup généré
par un projet de déploiement

En Trois : tu dis avoir des controles utilisateurs il


s'agit de user
control (extension .ascx) ou de web custom control (un


control

Les controles utilisateurs sont des composants ascx que
j'ai développés.
Je les ai réunis dans un dossier appelé "composants" qui
est au même niveau que les pages aspx. Je ne sais pas si
ct la meilleure démarche à adopter mais c mon responsable
qui m'a demandé de faire comme ça alors...

J'espère vraiment que ça sera arrangé avant ce soir...
Merci à toi en tous cas !

Elo

Le 27/08/2004, Elo a supposé :
Bonjour,

J'ai tout recompilé, et remis les fichiers à jour sur




le
serveur mais ça ne marche toujours pas.
Je n'utilise pas de Crystal Reports, donc le pb ne




vient
pas de là.
Par contre, je me demande pourquoi est-ce que tu




parles
de projet de déploiement ? Normalement quand on fait




un
déploiement par copie, on a juste à copier les pages
aspx, et les dll, non ?
Enfin, j'en ai mis un quand même parce qu'au début je
pensais l'utiliser (mais j'ai pas les droits sur le
serveur pr lancer le setup), je l'ai recompilé aussi




au
cas où.

Mais le problème vient peut-être de mes contrôles
utilisateurs. Ils sont placés dans un répertoire à




part.
Du coup j'ai copié l'ensemble du répertoire sur le
serveur pour être sure qu'ils y soient tous. Il y a




peut
être une manip supplémentaire à faire, non ?

Désolé si j'ai du mal, mais c'est la première fois que




je
fais un déploiement en .net (et je m'en souviendrai !!)

Merci pour ton aide.

Elo.

-----Message d'origine-----
tu ne fera pas appel à une dll tierce que tu n'a pas






déployée? par
exemple de jolie Etats Crystal Report et tu n'a pas






déployé les dll
crystalreport notament tu n'a pas pensé à les mettre






en module de
fusion dans le projet de déploiement?


voilà le lien microsoft sur leur KB pour ce problème

http://support.microsoft.com/default.aspx?scid=kb;en-






us;306155

effectivement on peut penser que c'est un problème






de compilation
typiquement tu a peut être ajouté une web form après






la dernière
compilation et pas pensé à recompiler j'avoue que






j'en doute mais qui
sait le plus simple c'est encore que tu recompile






tout le projet et que
tu le retransfère sur le serveur juste avec






un "copier coller" tu
reprends les fichiers *.aspx web.config, global.asax






tout ce qu'il y a
dans le répertoire bin dans un premier temps pour






voir un peu la sauce
attention au web.config pense a garder sur off le






custom error il
serait éventuellement pas mal de lancer un iisreset






sur le serveur
histoire de remettre au propre IIS car avec les






manip dessus on ne sait
pas il n'a peut pas bien repris le fil j'ai tendance






à abuser du
iisreset je sais pas si c'est bon mais en tout cas






on est sur d'avoir
remis en route proprement sans avoir du relancer le






serveur ;)

tiens moi au courant

Sebastien

Dans son message précédent, Elo a écrit :
Bonne nouvelle, je n'ai plus ce message d'erreur.
Mais comme une erreur en cache toujours une autre,








celle
que j'ai est de type :
Parser Error Message: Could not load








type 'Host.Global'.
D'après la doc il semblerait que j'aie chargé des
fichiers qui n'ont pas été compilés. La je








comprends pas
trop, parce que j'ai tout compilé sans problème, et








j'ai
chargé aussi le bin avec les dll donc je ne vois








pas trop
pourquoi ça ne passe pas...

-----Message d'origine-----
tu a fais ta manip sur ton pc de développement ou










sur le serveur de
production?

sur le principe tu peux cliquer sur supprimer et










recliquer sur créer il
va te créer l'application web je pense qu'au










moment de ton déploiement
tu n'a pas correctement créer le nom de










l'application en fait tu
croyais que c t un problème d'authentification










mais c surtout que dans
le web.config tout le début ne sert à rien d'un










point de vu application
et quand IIS arrive sur <authentication> là il se










dit tiens c'est une
application faut que je lance le petit truc qui










demande les login
password windows et il essaie de relier cela à










l'application or tu n'a
pas créé d'application ou elle est mal créé ton










un clic sur supprimer
puis un clic sur créer et ça devrait rouler sinon










tu lui met un nom et
tu fais appliquer pour la suite pour accéder à










l'application c comme je
t dis http://localhost/monapplicationName

Sebastien


Elo a émis l'idée suivante :
Merci beaucoup pour ton aide.
J'ai fait ce que tu m'as dit, mais ce qui est












bizarre,
c'est que dans l'onglet répertoire, il n'y a pas












de nom,
et ce n'est pas non plus grisé. Donc je n'ai pas












le
bouton créer, j'ai juste un bouton supprimer sur












lequel
je peux cliquer.
Par contre dans la zone de nom, je peux entrer un












nom,
mais si je le fais, il ne propose toujours aucun












lien
pour que je puisse le créer.
Je ne suis pas sure de m'expliquer très












clairement mais
j'espère que tu as compris qd même.
Merci en tout cas.

-----Message d'origine-----
En fait voilà le problème

quandf tu a configuré le répertoire virtuel IIS














tu ne lui a pas
demandé de créer l'application

si tu a un W 2K sous la main ou un XP PRO je














vais te donner la manip
ensuite à voir si tu a accès au serveur qui














héberge


clic droit sur Poste de Travail

ensuite "Gérer"

déplier dans la mmc qui s'ouvre "Services et














applications"
déplier "Services Internet(IIS)"
déplier "Site Web par Défaut"

clic droit sur un répertoire puis propriétés si














c'est un site web qui
tourne tu vois quelque chose en face de "Nom














de l'application" sur
l'onglet répertoire sinon c grisé dans ce cas














tu clic sur "Créer" et
à ce moment tu va dire a IIS un truc genre "je














veux que ce
répertoire devienne le point d'entrèe d'une














application web asp.net"
en dessous tu va pouvoir configurer si tu














autorise que les scripts ou
les scripts et les éxécutable. le mieu c de














prendre ton poste de dév
et de regarder sur le répertoire correspondant














à ton site comment il
a été configuré attention le nom d'application














donné quand tu clic
sur Créer et celui de l'accès à la ressource ex














clic et ça crée
"lajolieapplication" alors pour appeler ce














sera
http://localhost/lajolieapplication

Voilà tout ça c le sens de ça

Parser Error Message: It is an error to use a














section
registered as
















allowDefinition='MachineToApplication'
beyond application level. This error can be
















caused by a
virtual directory not being configured as an
















application
in IIS.



l'authentification ne peu pas se faire car pour














IIS il n'y a pas
d'application donc pas de droit d'accès au














compte utilisateur

Sebastien


Elo a présenté l'énoncé suivant :
Merci pour ton conseil.
Là en fait, il m'affiche me message d'erreur
















suivant :

Description: An error occurred during the
















processing of a
configuration file required to service this
















request.
Please review the specific error details below
















and modify
your configuration file appropriately.

Parser Error Message: It is an error to use a
















section
registered as
















allowDefinition='MachineToApplication'
beyond application level. This error can be
















caused by a
virtual directory not being configured as an
















application
in IIS.

Source Error:


Line 442: par Microsoft, qui offre
















des services
d'ouverture de session unique et de profil
















principal aux
sites membres.
Line 443: -->
Line 444: <authentication mode="Windows" />
Line 445:
Line 446: <!-- AUTORISATION

Donc là si je comprends bien il faut que je
















change le
mode d'authentification pour faire en sorte que
l'authentification soit faite par un
















formulaire. C'est
ça ?

Merci


-----Message d'origine-----
Bonjour,

dans votre fichier web.config remplacé

<customErrors
mode="RemoteOnly"
/>

par


<customErrors
mode="Off"
/>

ainsi vous verrez apparaitre en clair votre


















erreur (enfin en plus
clair) il faudra le remodifier après car c un


















trou de sécurité
évident certainement qu'avec un texte plus


















clair vous trouverez
plus facilement la solution

Pour Information il n'est pas nécessaire de


















tranférer les pages de
code behind elles ne sont pas nécessaire cela


















peut d'ailleur être
un trou de sécurité si quelqu'un acccède au


















répertoire du site
et que vous y avez stocké des mot de passe

le web.config doit être mis à la racine de


















votre application web

Sebastien

Elo a écrit :
Bonjour,

Je voudrais faire un test de mise en ligne




















d'un projet
web, mais ça plante.
J'ai copier sur le serveur dans un dossier à




















part (pour
faire mes tests) les pages aspx (avec leur




















code behind,
et la page en resx), le répertoire bin (ou




















sont les dll
de mes classes), et le web.config.

Quand je regarde dans mon navigateur, il me




















met une
erreur :
Description: An application error occurred




















on the server.
The current custom error settings for this




















application
prevent the details of the application error




















from being
viewed remotely (for security reasons). It




















could,
however, be viewed by browsers running on




















the local
server machine.

Details: To enable the details of this




















specific error
message to be viewable on remote machines,




















please create
a <customErrors> tag within a "web.config"




















configuration
file located in the root directory of the




















current web
application. This <customErrors> tag should




















then have
its "mode" attribute set to "Off".

Mais ce que je ne comprends pas, c'est




















qu'il n'interprète
pas le web.config que j'ai mis en ligne...

Est-ce que quelqu'un voit ce qui ne va pas ?

Merci



--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

.





--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

.





--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

.





--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

.





--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

.



Avatar
sebastien981_nospam
Ok ok ouais je sais je suis méga patient lol

patience et longueur de temps font plus que force ni que rage (Le Cid
Corneille)

alors bonne nouvelle je vois bien le problème mauvaise nouvelle pour le
résoudre il faut essayer beaucoup de chose


L'erreur que tu a peut être due à plusieurs facteurs d'ailleurs ça fait
parti des post fréquent sur les forums

l'erreur que tu a est expliquée ainsi : il y a un écart entre ce que
l'on demande à la clr de compiler pour lancer l'application et ce
qu'elle trouve au moment du lancement alors par exemple tu a fait
hériter global d'une autre classe et tu ne l'a pas transmise sur le
principe dans ton fichier Global.asax.cs tu a remplacé

public class Global : System.Web.HttpApplication
par
public class Global : MaClassePersoAMoi

mais perso je n'en vois pas trop l'intérêt donc maintenant tu a peut
être donnée un autre namespace dans le global.asax ça ce serait
typiquement on bosse a deux sur un projet l'un dit namespace MonName
l'autre dit namespace OtherName et on a recopié le global asax de l'un
sur l'autre topo décalage entre l'assemble compilé qui demande MonName
space et le fichier de le inherits attendu vu que le inherits c'est
forcément Namespace.Classe donc tu peux récupérer le bon namaespace et
remplacer Host par ce que ça devrait être

Pour Info si tu veux reproduire le plantage rien de plus facil un
projet web un webform un bouton et une textbox dessus on compile la
première fois pas de problème affichage de la webform1.aspx avec le
bouton et le textbox on garde le site ouvert
on passe sous visual studio on passe webform1 en mode html et on retire
le namespace donc on passe de

<%@ Page language="c#" Codebehind="WebForm1.aspx.cs"
AutoEventWireup="false" Inherits="Demo.WebForm1" %>

a

<%@ Page language="c#" Codebehind="WebForm1.aspx.cs"
AutoEventWireup="false" Inherits="WebForm1" %>

on fait juste enregistrer et on ne recompile pas puis on repasse sur
Internet explorer on appui sur F5 et là op on a l'erreur il s'agit
d'une erreur d'analyse du fichier

ensuite dans Visual Studio on garde l'erreur et si on test la
compilation ça passe car pour Visual studio inherits WebForm1 est bon


Maintenant comment faire planter Global.asax sur lequel on ne peut pas
passer en mode HTML rien de plus simple

je compile mon projet Demo une première fois , je vais dans le fichier
de codebehind de Global.asax.cs et je modifie le namespace (je ne
supprime pas le namespace je le renomme c'est tout) j'enregistre le
fichier mais je ne compile pas je fais un F5 sur mon internet explorer
et boom plantage cela dit si je compile a présent ça passe comme par
magi pourquoi parce que la DLL dans le dossier Bin s'attend bien
maintenant à avoir un autre namespace (cela par exemple sous entendrais
un global.asax commun a plusieur projet par exemple ou du moins qui
vient d'un autre projet )

j'espères que c clair tu peux refaire c manip là toi même tu verras ça
marche bien pour planter l'appli ;)

Maintenant le problème c'est de reprendre tous les fichier de
codebehind et dans vérifier les namespace reprendre le global.asax.cs
et remettre le bon namespace ensuite recompiler la solution seulement
voilà que peut il se passer imaginons qu'en fait ton global.asax.cs
provient d'un répertoire sur un serveur commun de dév et que ton
global.asax provient du tien il ne seront jamais en accord le mieu dans
ce cas c'est de refaire proprement le global.asax

Attention encore une fois ça peut très bien compiler sans problème met
c'est à l'exécution que ça plante c'est pas la même chose

ensuite tu supprime tous les fichiers que tu a tranféré sur ton serveur
et tout les répertoires parce que aujourd'hui tu sais plus ce qui merde
de ce qui marche et pareil sur ton poste de développement tu supprime
les fichiers de dll dans le répertoire bin pas les autre juste pour
être sur après la compilation que tu a bien les dernières versions des
dll il les recré à chaque fois mais ainsi on est sur du truc puis tu
relance la compilation VS va te recréer les dll même celle qui
proviennent d'ailleur et tu reprend tout les dossiers, les fichiers et
le reste (répertoire, composant) et tu recopie tout sur le serveur à
nouveau tu relance et tu me tiens au courant

Sebastien

(autre citation : cent fois sur le métier remet ton ouvrage :) )

Elo a écrit :
Quelle patience !

Primo : Qu'elle est l'erreur que tu a maintenant ? voir si depuis hier
elle a changée



L'erreur :
Description: An error occurred during the parsing of a
resource required to service this request. Please review
the following specific parse error details and modify
your source file appropriately.

Parser Error Message: Could not load type 'Host.Global'.
Source Error:
Line 1: <%@ Application Codebehind="Global.asax.cs"
Inherits="Host.Global" %>

Deuzio : je parle de projet de déploiement car je t'ai aidé sur un
projet de déploiement donc je pensais que c'était la suite mais
visiblement tu a pris le parti de faire par copie



Finalement je le fais par copie, car je ne dispose pas
des droits sur le serveur pour exécuter le setup généré
par un projet de déploiement

En Trois : tu dis avoir des controles utilisateurs il s'agit de user
control (extension .ascx) ou de web custom control (un


control

Les controles utilisateurs sont des composants ascx que
j'ai développés.
Je les ai réunis dans un dossier appelé "composants" qui
est au même niveau que les pages aspx. Je ne sais pas si
ct la meilleure démarche à adopter mais c mon responsable
qui m'a demandé de faire comme ça alors...

J'espère vraiment que ça sera arrangé avant ce soir...
Merci à toi en tous cas !

Elo

Le 27/08/2004, Elo a supposé :
Bonjour,

J'ai tout recompilé, et remis les fichiers à jour sur le
serveur mais ça ne marche toujours pas.
Je n'utilise pas de Crystal Reports, donc le pb ne vient
pas de là.
Par contre, je me demande pourquoi est-ce que tu parles
de projet de déploiement ? Normalement quand on fait un
déploiement par copie, on a juste à copier les pages
aspx, et les dll, non ?
Enfin, j'en ai mis un quand même parce qu'au début je
pensais l'utiliser (mais j'ai pas les droits sur le
serveur pr lancer le setup), je l'ai recompilé aussi au
cas où.

Mais le problème vient peut-être de mes contrôles
utilisateurs. Ils sont placés dans un répertoire à part.
Du coup j'ai copié l'ensemble du répertoire sur le
serveur pour être sure qu'ils y soient tous. Il y a peut
être une manip supplémentaire à faire, non ?

Désolé si j'ai du mal, mais c'est la première fois que je
fais un déploiement en .net (et je m'en souviendrai !!)

Merci pour ton aide.

Elo.

-----Message d'origine-----
tu ne fera pas appel à une dll tierce que tu n'a pas déployée? par
exemple de jolie Etats Crystal Report et tu n'a pas déployé les dll
crystalreport notament tu n'a pas pensé à les mettre en module de
fusion dans le projet de déploiement?


voilà le lien microsoft sur leur KB pour ce problème

http://support.microsoft.com/default.aspx?scid=kb;en- us;306155

effectivement on peut penser que c'est un problème de compilation
typiquement tu a peut être ajouté une web form après la dernière
compilation et pas pensé à recompiler j'avoue que j'en doute mais qui
sait le plus simple c'est encore que tu recompile tout le projet et que
tu le retransfère sur le serveur juste avec un "copier coller" tu
reprends les fichiers *.aspx web.config, global.asax tout ce qu'il y a
dans le répertoire bin dans un premier temps pour voir un peu la sauce
attention au web.config pense a garder sur off le custom error il
serait éventuellement pas mal de lancer un iisreset sur le serveur
histoire de remettre au propre IIS car avec les manip dessus on ne sait
pas il n'a peut pas bien repris le fil j'ai tendance à abuser du
iisreset je sais pas si c'est bon mais en tout cas on est sur d'avoir
remis en route proprement sans avoir du relancer le serveur ;)

tiens moi au courant

Sebastien

Dans son message précédent, Elo a écrit :
Bonne nouvelle, je n'ai plus ce message d'erreur.
Mais comme une erreur en cache toujours une autre, celle
que j'ai est de type :
Parser Error Message: Could not load type 'Host.Global'.
D'après la doc il semblerait que j'aie chargé des
fichiers qui n'ont pas été compilés. La je comprends pas
trop, parce que j'ai tout compilé sans problème, et j'ai
chargé aussi le bin avec les dll donc je ne vois pas trop
pourquoi ça ne passe pas...

-----Message d'origine-----
tu a fais ta manip sur ton pc de développement ou sur le serveur de
production?

sur le principe tu peux cliquer sur supprimer et recliquer sur créer
il va te créer l'application web je pense qu'au moment de ton
déploiement tu n'a pas correctement créer le nom de l'application en
fait tu croyais que c t un problème d'authentification mais c
surtout que dans le web.config tout le début ne sert à rien d'un point
de vu application et quand IIS arrive sur <authentication> là il se
dit tiens c'est une application faut que je lance le petit truc qui
demande les login password windows et il essaie de relier cela à
l'application or tu n'a pas créé d'application ou elle est mal créé
ton un clic sur supprimer puis un clic sur créer et ça devrait
rouler sinon tu lui met un nom et tu fais appliquer pour la suite
pour accéder à l'application c comme je t dis
http://localhost/monapplicationName

Sebastien


Elo a émis l'idée suivante :
Merci beaucoup pour ton aide.
J'ai fait ce que tu m'as dit, mais ce qui est bizarre,
c'est que dans l'onglet répertoire, il n'y a pas de nom,
et ce n'est pas non plus grisé. Donc je n'ai pas le
bouton créer, j'ai juste un bouton supprimer sur lequel
je peux cliquer.
Par contre dans la zone de nom, je peux entrer un nom,
mais si je le fais, il ne propose toujours aucun lien
pour que je puisse le créer.
Je ne suis pas sure de m'expliquer très clairement mais
j'espère que tu as compris qd même.
Merci en tout cas.

-----Message d'origine-----
En fait voilà le problème

quandf tu a configuré le répertoire virtuel IIS tu ne lui a pas
demandé de créer l'application

si tu a un W 2K sous la main ou un XP PRO je vais te donner la
manip ensuite à voir si tu a accès au serveur qui héberge


clic droit sur Poste de Travail

ensuite "Gérer"

déplier dans la mmc qui s'ouvre "Services et applications"
déplier "Services Internet(IIS)"
déplier "Site Web par Défaut"

clic droit sur un répertoire puis propriétés si c'est un site web
qui tourne tu vois quelque chose en face de "Nom de
l'application" sur l'onglet répertoire sinon c grisé dans ce cas tu
clic sur "Créer" et à ce moment tu va dire a IIS un truc genre "je
veux que ce répertoire devienne le point d'entrèe d'une
application web asp.net" en dessous tu va pouvoir configurer si
tu autorise que les scripts ou les scripts et les éxécutable.
le mieu c de prendre ton poste de dév et de regarder sur le
répertoire correspondant à ton site comment il a été configuré
attention le nom d'application donné quand tu clic sur Créer et
celui de l'accès à la ressource ex clic et ça crée
"lajolieapplication" alors pour appeler ce sera
http://localhost/lajolieapplication

Voilà tout ça c le sens de ça

Parser Error Message: It is an error to use a section
registered as allowDefinition='MachineToApplication'
beyond application level. This error can be caused by a
virtual directory not being configured as an application
in IIS.



l'authentification ne peu pas se faire car pour IIS il n'y a pas
d'application donc pas de droit d'accès au compte utilisateur

Sebastien


Elo a présenté l'énoncé suivant :
Merci pour ton conseil.
Là en fait, il m'affiche me message d'erreur suivant :

Description: An error occurred during the processing of a
configuration file required to service this request.
Please review the specific error details below and modify
your configuration file appropriately.

Parser Error Message: It is an error to use a section
registered as allowDefinition='MachineToApplication'
beyond application level. This error can be caused by a
virtual directory not being configured as an application
in IIS.

Source Error:


Line 442: par Microsoft, qui offre des services
d'ouverture de session unique et de profil principal aux
sites membres.
Line 443: -->
Line 444: <authentication mode="Windows" />
Line 445:
Line 446: <!-- AUTORISATION

Donc là si je comprends bien il faut que je change le
mode d'authentification pour faire en sorte que
l'authentification soit faite par un formulaire. C'est
ça ?

Merci


-----Message d'origine-----
Bonjour,

dans votre fichier web.config remplacé

<customErrors
mode="RemoteOnly"
/>

par


<customErrors
mode="Off"
/>

ainsi vous verrez apparaitre en clair votre erreur (enfin en
plus clair) il faudra le remodifier après car c un trou de
sécurité évident certainement qu'avec un texte plus clair vous
trouverez plus facilement la solution

Pour Information il n'est pas nécessaire de tranférer les pages
de code behind elles ne sont pas nécessaire cela peut
d'ailleur être un trou de sécurité si quelqu'un acccède au
répertoire du site et que vous y avez stocké des mot de passe

le web.config doit être mis à la racine de votre application
web

Sebastien

Elo a écrit :
Bonjour,

Je voudrais faire un test de mise en ligne d'un projet
web, mais ça plante.
J'ai copier sur le serveur dans un dossier à part (pour
faire mes tests) les pages aspx (avec leur code behind,
et la page en resx), le répertoire bin (ou sont les dll
de mes classes), et le web.config.

Quand je regarde dans mon navigateur, il me met une
erreur :
Description: An application error occurred on the server.
The current custom error settings for this application
prevent the details of the application error from being
viewed remotely (for security reasons). It could,
however, be viewed by browsers running on the local
server machine.

Details: To enable the details of this specific error
message to be viewable on remote machines, please create
a <customErrors> tag within a "web.config" configuration
file located in the root directory of the current web
application. This <customErrors> tag should then have
its "mode" attribute set to "Off".

Mais ce que je ne comprends pas, c'est qu'il n'interprète
pas le web.config que j'ai mis en ligne...

Est-ce que quelqu'un voit ce qui ne va pas ?

Merci



--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

.





--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

.





--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

.





--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

.





--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

.





--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Avatar
Elo
Bon, j'ai fait ce que tu m'as dit, supprimer les dll,
tout recharger, et à priori le problème ne se pose pas.
Je dis à priori, car vu qu'il me met une autre erreur,
c'est qu'il est passé à autre chose.
Bon c'est une bonne nouvelle, parce que c'est mieux mais
c'est toujours pas ça :-(
Là en fait, il a un problème de connection à la base de
données (déjà plus classique), donc je devrais pouvoir
m'en sortir.

En tous cas merci énormément pour ton aide et tes
explications, et à bientot (surement car je dois pas être
au bout de mes surpises ;-) ) sur ce forum.

Elo

-----Message d'origine-----
Ok ok ouais je sais je suis méga patient lol

patience et longueur de temps font plus que force ni que


rage (Le Cid
Corneille)

alors bonne nouvelle je vois bien le problème mauvaise


nouvelle pour le
résoudre il faut essayer beaucoup de chose


L'erreur que tu a peut être due à plusieurs facteurs


d'ailleurs ça fait
parti des post fréquent sur les forums

l'erreur que tu a est expliquée ainsi : il y a un écart


entre ce que
l'on demande à la clr de compiler pour lancer


l'application et ce
qu'elle trouve au moment du lancement alors par exemple


tu a fait
hériter global d'une autre classe et tu ne l'a pas


transmise sur le
principe dans ton fichier Global.asax.cs tu a remplacé

public class Global : System.Web.HttpApplication
par
public class Global : MaClassePersoAMoi

mais perso je n'en vois pas trop l'intérêt donc


maintenant tu a peut
être donnée un autre namespace dans le global.asax ça ce


serait
typiquement on bosse a deux sur un projet l'un dit


namespace MonName
l'autre dit namespace OtherName et on a recopié le


global asax de l'un
sur l'autre topo décalage entre l'assemble compilé qui


demande MonName
space et le fichier de le inherits attendu vu que le


inherits c'est
forcément Namespace.Classe donc tu peux récupérer le bon


namaespace et
remplacer Host par ce que ça devrait être

Pour Info si tu veux reproduire le plantage rien de plus


facil un
projet web un webform un bouton et une textbox dessus on


compile la
première fois pas de problème affichage de la


webform1.aspx avec le
bouton et le textbox on garde le site ouvert
on passe sous visual studio on passe webform1 en mode


html et on retire
le namespace donc on passe de

<%@ Page language="c#" Codebehind="WebForm1.aspx.cs"
AutoEventWireup="false" Inherits="Demo.WebForm1" %>

a

<%@ Page language="c#" Codebehind="WebForm1.aspx.cs"
AutoEventWireup="false" Inherits="WebForm1" %>

on fait juste enregistrer et on ne recompile pas puis on


repasse sur
Internet explorer on appui sur F5 et là op on a l'erreur


il s'agit
d'une erreur d'analyse du fichier

ensuite dans Visual Studio on garde l'erreur et si on


test la
compilation ça passe car pour Visual studio inherits


WebForm1 est bon


Maintenant comment faire planter Global.asax sur lequel


on ne peut pas
passer en mode HTML rien de plus simple

je compile mon projet Demo une première fois , je vais


dans le fichier
de codebehind de Global.asax.cs et je modifie le


namespace (je ne
supprime pas le namespace je le renomme c'est tout)


j'enregistre le
fichier mais je ne compile pas je fais un F5 sur mon


internet explorer
et boom plantage cela dit si je compile a présent ça


passe comme par
magi pourquoi parce que la DLL dans le dossier Bin


s'attend bien
maintenant à avoir un autre namespace (cela par exemple


sous entendrais
un global.asax commun a plusieur projet par exemple ou


du moins qui
vient d'un autre projet )

j'espères que c clair tu peux refaire c manip là toi


même tu verras ça
marche bien pour planter l'appli ;)

Maintenant le problème c'est de reprendre tous les


fichier de
codebehind et dans vérifier les namespace reprendre le


global.asax.cs
et remettre le bon namespace ensuite recompiler la


solution seulement
voilà que peut il se passer imaginons qu'en fait ton


global.asax.cs
provient d'un répertoire sur un serveur commun de dév et


que ton
global.asax provient du tien il ne seront jamais en


accord le mieu dans
ce cas c'est de refaire proprement le global.asax

Attention encore une fois ça peut très bien compiler


sans problème met
c'est à l'exécution que ça plante c'est pas la même chose

ensuite tu supprime tous les fichiers que tu a tranféré


sur ton serveur
et tout les répertoires parce que aujourd'hui tu sais


plus ce qui merde
de ce qui marche et pareil sur ton poste de


développement tu supprime
les fichiers de dll dans le répertoire bin pas les autre


juste pour
être sur après la compilation que tu a bien les


dernières versions des
dll il les recré à chaque fois mais ainsi on est sur du


truc puis tu
relance la compilation VS va te recréer les dll même


celle qui
proviennent d'ailleur et tu reprend tout les dossiers,


les fichiers et
le reste (répertoire, composant) et tu recopie tout sur


le serveur à
nouveau tu relance et tu me tiens au courant

Sebastien

(autre citation : cent fois sur le métier remet ton


ouvrage :) )

Elo a écrit :
Quelle patience !

Primo : Qu'elle est l'erreur que tu a maintenant ?






voir si depuis hier
elle a changée



L'erreur :
Description: An error occurred during the parsing of a
resource required to service this request. Please




review
the following specific parse error details and modify
your source file appropriately.

Parser Error Message: Could not load




type 'Host.Global'.
Source Error:
Line 1: <%@ Application Codebehind="Global.asax.cs"
Inherits="Host.Global" %>

Deuzio : je parle de projet de déploiement car je






t'ai aidé sur un
projet de déploiement donc je pensais que c'était la






suite mais
visiblement tu a pris le parti de faire par copie



Finalement je le fais par copie, car je ne dispose pas
des droits sur le serveur pour exécuter le setup




généré
par un projet de déploiement

En Trois : tu dis avoir des controles utilisateurs






il s'agit de user
control (extension .ascx) ou de web custom control






(un
control

Les controles utilisateurs sont des composants ascx




que
j'ai développés.
Je les ai réunis dans un dossier appelé "composants"




qui
est au même niveau que les pages aspx. Je ne sais pas




si
ct la meilleure démarche à adopter mais c mon




responsable
qui m'a demandé de faire comme ça alors...

J'espère vraiment que ça sera arrangé avant ce soir...
Merci à toi en tous cas !

Elo

Le 27/08/2004, Elo a supposé :
Bonjour,

J'ai tout recompilé, et remis les fichiers à jour








sur le
serveur mais ça ne marche toujours pas.
Je n'utilise pas de Crystal Reports, donc le pb ne








vient
pas de là.
Par contre, je me demande pourquoi est-ce que tu








parles
de projet de déploiement ? Normalement quand on








fait un
déploiement par copie, on a juste à copier les pages
aspx, et les dll, non ?
Enfin, j'en ai mis un quand même parce qu'au début








je
pensais l'utiliser (mais j'ai pas les droits sur le
serveur pr lancer le setup), je l'ai recompilé








aussi au
cas où.

Mais le problème vient peut-être de mes contrôles
utilisateurs. Ils sont placés dans un répertoire à








part.
Du coup j'ai copié l'ensemble du répertoire sur le
serveur pour être sure qu'ils y soient tous. Il y a








peut
être une manip supplémentaire à faire, non ?

Désolé si j'ai du mal, mais c'est la première fois








que je
fais un déploiement en .net (et je m'en








souviendrai !!)

Merci pour ton aide.

Elo.

-----Message d'origine-----
tu ne fera pas appel à une dll tierce que tu n'a










pas déployée? par
exemple de jolie Etats Crystal Report et tu n'a










pas déployé les dll
crystalreport notament tu n'a pas pensé à les










mettre en module de
fusion dans le projet de déploiement?


voilà le lien microsoft sur leur KB pour ce problème

http://support.microsoft.com/default.aspx?










scid=kb;en- us;306155

effectivement on peut penser que c'est un problème










de compilation
typiquement tu a peut être ajouté une web form










après la dernière
compilation et pas pensé à recompiler j'avoue que










j'en doute mais qui
sait le plus simple c'est encore que tu recompile










tout le projet et que
tu le retransfère sur le serveur juste avec










un "copier coller" tu
reprends les fichiers *.aspx web.config,










global.asax tout ce qu'il y a
dans le répertoire bin dans un premier temps pour










voir un peu la sauce
attention au web.config pense a garder sur off le










custom error il
serait éventuellement pas mal de lancer un










iisreset sur le serveur
histoire de remettre au propre IIS car avec les










manip dessus on ne sait
pas il n'a peut pas bien repris le fil j'ai










tendance à abuser du
iisreset je sais pas si c'est bon mais en tout cas










on est sur d'avoir
remis en route proprement sans avoir du relancer










le serveur ;)

tiens moi au courant

Sebastien

Dans son message précédent, Elo a écrit :
Bonne nouvelle, je n'ai plus ce message d'erreur.
Mais comme une erreur en cache toujours une












autre, celle
que j'ai est de type :
Parser Error Message: Could not load












type 'Host.Global'.
D'après la doc il semblerait que j'aie chargé des
fichiers qui n'ont pas été compilés. La je












comprends pas
trop, parce que j'ai tout compilé sans problème,












et j'ai
chargé aussi le bin avec les dll donc je ne vois












pas trop
pourquoi ça ne passe pas...

-----Message d'origine-----
tu a fais ta manip sur ton pc de développement














ou sur le serveur de
production?

sur le principe tu peux cliquer sur supprimer














et recliquer sur créer
il va te créer l'application web je pense qu'au














moment de ton
déploiement tu n'a pas correctement créer le nom














de l'application en
fait tu croyais que c t un problème














d'authentification mais c
surtout que dans le web.config tout le début ne














sert à rien d'un point
de vu application et quand IIS arrive sur














<authentication> là il se
dit tiens c'est une application faut que je














lance le petit truc qui
demande les login password windows et il essaie














de relier cela à
l'application or tu n'a pas créé d'application














ou elle est mal créé
ton un clic sur supprimer puis un clic sur














créer et ça devrait
rouler sinon tu lui met un nom et tu fais














appliquer pour la suite
pour accéder à l'application c comme je t dis
http://localhost/monapplicationName

Sebastien


Elo a émis l'idée suivante :
Merci beaucoup pour ton aide.
J'ai fait ce que tu m'as dit, mais ce qui est
















bizarre,
c'est que dans l'onglet répertoire, il n'y a
















pas de nom,
et ce n'est pas non plus grisé. Donc je n'ai
















pas le
bouton créer, j'ai juste un bouton supprimer
















sur lequel
je peux cliquer.
Par contre dans la zone de nom, je peux entrer
















un nom,
mais si je le fais, il ne propose toujours
















aucun lien
pour que je puisse le créer.
Je ne suis pas sure de m'expliquer très
















clairement mais
j'espère que tu as compris qd même.
Merci en tout cas.

-----Message d'origine-----
En fait voilà le problème

quandf tu a configuré le répertoire virtuel


















IIS tu ne lui a pas
demandé de créer l'application

si tu a un W 2K sous la main ou un XP PRO je


















vais te donner la
manip ensuite à voir si tu a accès au serveur


















qui héberge


clic droit sur Poste de Travail

ensuite "Gérer"

déplier dans la mmc qui s'ouvre "Services


















et applications"
déplier "Services Internet(IIS)"
déplier "Site Web par Défaut"

clic droit sur un répertoire puis propriétés


















si c'est un site web
qui tourne tu vois quelque chose en face


















de "Nom de
l'application" sur l'onglet répertoire sinon c


















grisé dans ce cas tu
clic sur "Créer" et à ce moment tu va dire


















a IIS un truc genre "je
veux que ce répertoire devienne le point


















d'entrèe d'une
application web asp.net" en dessous tu va


















pouvoir configurer si
tu autorise que les scripts ou les


















scripts et les éxécutable.
le mieu c de prendre ton poste de dév et


















de regarder sur le
répertoire correspondant à ton site comment


















il a été configuré
attention le nom d'application donné quand tu


















clic sur Créer et
celui de l'accès à la ressource ex clic et


















ça crée
"lajolieapplication" alors pour appeler ce


















sera
http://localhost/lajolieapplication

Voilà tout ça c le sens de ça

Parser Error Message: It is an error to use a


















section
registered as




















allowDefinition='MachineToApplication'
beyond application level. This error can be




















caused by a
virtual directory not being configured as




















an application
in IIS.



l'authentification ne peu pas se faire car


















pour IIS il n'y a pas
d'application donc pas de droit d'accès au


















compte utilisateur

Sebastien


Elo a présenté l'énoncé suivant :
Merci pour ton conseil.
Là en fait, il m'affiche me message




















d'erreur suivant :

Description: An error occurred during the




















processing of a
configuration file required to service this




















request.
Please review the specific error details




















below and modify
your configuration file appropriately.

Parser Error Message: It is an error to use




















a section
registered as




















allowDefinition='MachineToApplication'
beyond application level. This error can be




















caused by a
virtual directory not being configured as




















an application
in IIS.

Source Error:


Line 442: par Microsoft, qui offre




















des services
d'ouverture de session unique et de profil




















principal aux
sites membres.
Line 443: -->
Line 444: <authentication mode="Windows" />
Line 445:
Line 446: <!-- AUTORISATION

Donc là si je comprends bien il faut que je




















change le
mode d'authentification pour faire en sorte




















que
l'authentification soit faite par un




















formulaire. C'est
ça ?

Merci


-----Message d'origine-----
Bonjour,

dans votre fichier web.config remplacé

<customErrors
mode="RemoteOnly"
/>

par


<customErrors
mode="Off"
/>

ainsi vous verrez apparaitre en clair






















votre erreur (enfin en
plus clair) il faudra le remodifier après






















car c un trou de
sécurité évident certainement qu'avec un






















texte plus clair vous
trouverez plus facilement la solution

Pour Information il n'est pas nécessaire






















de tranférer les pages
de code behind elles ne sont pas nécessaire






















cela peut
Avatar
Elo
Au fait, un truc qui n'a rien à voir, tu as msn ? J'ai vu
que tu avais un compte hotmail, donc je demande au cas
où... Ca m'évitera de polluer ce forum ;-)

Elo

-----Message d'origine-----
Ok ok ouais je sais je suis méga patient lol

patience et longueur de temps font plus que force ni que


rage (Le Cid
Corneille)

alors bonne nouvelle je vois bien le problème mauvaise


nouvelle pour le
résoudre il faut essayer beaucoup de chose


L'erreur que tu a peut être due à plusieurs facteurs


d'ailleurs ça fait
parti des post fréquent sur les forums

l'erreur que tu a est expliquée ainsi : il y a un écart


entre ce que
l'on demande à la clr de compiler pour lancer


l'application et ce
qu'elle trouve au moment du lancement alors par exemple


tu a fait
hériter global d'une autre classe et tu ne l'a pas


transmise sur le
principe dans ton fichier Global.asax.cs tu a remplacé

public class Global : System.Web.HttpApplication
par
public class Global : MaClassePersoAMoi

mais perso je n'en vois pas trop l'intérêt donc


maintenant tu a peut
être donnée un autre namespace dans le global.asax ça ce


serait
typiquement on bosse a deux sur un projet l'un dit


namespace MonName
l'autre dit namespace OtherName et on a recopié le


global asax de l'un
sur l'autre topo décalage entre l'assemble compilé qui


demande MonName
space et le fichier de le inherits attendu vu que le


inherits c'est
forcément Namespace.Classe donc tu peux récupérer le bon


namaespace et
remplacer Host par ce que ça devrait être

Pour Info si tu veux reproduire le plantage rien de plus


facil un
projet web un webform un bouton et une textbox dessus on


compile la
première fois pas de problème affichage de la


webform1.aspx avec le
bouton et le textbox on garde le site ouvert
on passe sous visual studio on passe webform1 en mode


html et on retire
le namespace donc on passe de

<%@ Page language="c#" Codebehind="WebForm1.aspx.cs"
AutoEventWireup="false" Inherits="Demo.WebForm1" %>

a

<%@ Page language="c#" Codebehind="WebForm1.aspx.cs"
AutoEventWireup="false" Inherits="WebForm1" %>

on fait juste enregistrer et on ne recompile pas puis on


repasse sur
Internet explorer on appui sur F5 et là op on a l'erreur


il s'agit
d'une erreur d'analyse du fichier

ensuite dans Visual Studio on garde l'erreur et si on


test la
compilation ça passe car pour Visual studio inherits


WebForm1 est bon


Maintenant comment faire planter Global.asax sur lequel


on ne peut pas
passer en mode HTML rien de plus simple

je compile mon projet Demo une première fois , je vais


dans le fichier
de codebehind de Global.asax.cs et je modifie le


namespace (je ne
supprime pas le namespace je le renomme c'est tout)


j'enregistre le
fichier mais je ne compile pas je fais un F5 sur mon


internet explorer
et boom plantage cela dit si je compile a présent ça


passe comme par
magi pourquoi parce que la DLL dans le dossier Bin


s'attend bien
maintenant à avoir un autre namespace (cela par exemple


sous entendrais
un global.asax commun a plusieur projet par exemple ou


du moins qui
vient d'un autre projet )

j'espères que c clair tu peux refaire c manip là toi


même tu verras ça
marche bien pour planter l'appli ;)

Maintenant le problème c'est de reprendre tous les


fichier de
codebehind et dans vérifier les namespace reprendre le


global.asax.cs
et remettre le bon namespace ensuite recompiler la


solution seulement
voilà que peut il se passer imaginons qu'en fait ton


global.asax.cs
provient d'un répertoire sur un serveur commun de dév et


que ton
global.asax provient du tien il ne seront jamais en


accord le mieu dans
ce cas c'est de refaire proprement le global.asax

Attention encore une fois ça peut très bien compiler


sans problème met
c'est à l'exécution que ça plante c'est pas la même chose

ensuite tu supprime tous les fichiers que tu a tranféré


sur ton serveur
et tout les répertoires parce que aujourd'hui tu sais


plus ce qui merde
de ce qui marche et pareil sur ton poste de


développement tu supprime
les fichiers de dll dans le répertoire bin pas les autre


juste pour
être sur après la compilation que tu a bien les


dernières versions des
dll il les recré à chaque fois mais ainsi on est sur du


truc puis tu
relance la compilation VS va te recréer les dll même


celle qui
proviennent d'ailleur et tu reprend tout les dossiers,


les fichiers et
le reste (répertoire, composant) et tu recopie tout sur


le serveur à
nouveau tu relance et tu me tiens au courant

Sebastien

(autre citation : cent fois sur le métier remet ton


ouvrage :) )

Elo a écrit :
Quelle patience !

Primo : Qu'elle est l'erreur que tu a maintenant ?






voir si depuis hier
elle a changée



L'erreur :
Description: An error occurred during the parsing of a
resource required to service this request. Please




review
the following specific parse error details and modify
your source file appropriately.

Parser Error Message: Could not load




type 'Host.Global'.
Source Error:
Line 1: <%@ Application Codebehind="Global.asax.cs"
Inherits="Host.Global" %>

Deuzio : je parle de projet de déploiement car je






t'ai aidé sur un
projet de déploiement donc je pensais que c'était la






suite mais
visiblement tu a pris le parti de faire par copie



Finalement je le fais par copie, car je ne dispose pas
des droits sur le serveur pour exécuter le setup




généré
par un projet de déploiement

En Trois : tu dis avoir des controles utilisateurs






il s'agit de user
control (extension .ascx) ou de web custom control






(un
control

Les controles utilisateurs sont des composants ascx




que
j'ai développés.
Je les ai réunis dans un dossier appelé "composants"




qui
est au même niveau que les pages aspx. Je ne sais pas




si
ct la meilleure démarche à adopter mais c mon




responsable
qui m'a demandé de faire comme ça alors...

J'espère vraiment que ça sera arrangé avant ce soir...
Merci à toi en tous cas !

Elo

Le 27/08/2004, Elo a supposé :
Bonjour,

J'ai tout recompilé, et remis les fichiers à jour








sur le
serveur mais ça ne marche toujours pas.
Je n'utilise pas de Crystal Reports, donc le pb ne








vient
pas de là.
Par contre, je me demande pourquoi est-ce que tu








parles
de projet de déploiement ? Normalement quand on








fait un
déploiement par copie, on a juste à copier les pages
aspx, et les dll, non ?
Enfin, j'en ai mis un quand même parce qu'au début








je
pensais l'utiliser (mais j'ai pas les droits sur le
serveur pr lancer le setup), je l'ai recompilé








aussi au
cas où.

Mais le problème vient peut-être de mes contrôles
utilisateurs. Ils sont placés dans un répertoire à








part.
Du coup j'ai copié l'ensemble du répertoire sur le
serveur pour être sure qu'ils y soient tous. Il y a








peut
être une manip supplémentaire à faire, non ?

Désolé si j'ai du mal, mais c'est la première fois








que je
fais un déploiement en .net (et je m'en








souviendrai !!)

Merci pour ton aide.

Elo.

-----Message d'origine-----
tu ne fera pas appel à une dll tierce que tu n'a










pas déployée? par
exemple de jolie Etats Crystal Report et tu n'a










pas déployé les dll
crystalreport notament tu n'a pas pensé à les










mettre en module de
fusion dans le projet de déploiement?


voilà le lien microsoft sur leur KB pour ce problème

http://support.microsoft.com/default.aspx?










scid=kb;en- us;306155

effectivement on peut penser que c'est un problème










de compilation
typiquement tu a peut être ajouté une web form










après la dernière
compilation et pas pensé à recompiler j'avoue que










j'en doute mais qui
sait le plus simple c'est encore que tu recompile










tout le projet et que
tu le retransfère sur le serveur juste avec










un "copier coller" tu
reprends les fichiers *.aspx web.config,










global.asax tout ce qu'il y a
dans le répertoire bin dans un premier temps pour










voir un peu la sauce
attention au web.config pense a garder sur off le










custom error il
serait éventuellement pas mal de lancer un










iisreset sur le serveur
histoire de remettre au propre IIS car avec les










manip dessus on ne sait
pas il n'a peut pas bien repris le fil j'ai










tendance à abuser du
iisreset je sais pas si c'est bon mais en tout cas










on est sur d'avoir
remis en route proprement sans avoir du relancer










le serveur ;)

tiens moi au courant

Sebastien

Dans son message précédent, Elo a écrit :
Bonne nouvelle, je n'ai plus ce message d'erreur.
Mais comme une erreur en cache toujours une












autre, celle
que j'ai est de type :
Parser Error Message: Could not load












type 'Host.Global'.
D'après la doc il semblerait que j'aie chargé des
fichiers qui n'ont pas été compilés. La je












comprends pas
trop, parce que j'ai tout compilé sans problème,












et j'ai
chargé aussi le bin avec les dll donc je ne vois












pas trop
pourquoi ça ne passe pas...

-----Message d'origine-----
tu a fais ta manip sur ton pc de développement














ou sur le serveur de
production?

sur le principe tu peux cliquer sur supprimer














et recliquer sur créer
il va te créer l'application web je pense qu'au














moment de ton
déploiement tu n'a pas correctement créer le nom














de l'application en
fait tu croyais que c t un problème














d'authentification mais c
surtout que dans le web.config tout le début ne














sert à rien d'un point
de vu application et quand IIS arrive sur














<authentication> là il se
dit tiens c'est une application faut que je














lance le petit truc qui
demande les login password windows et il essaie














de relier cela à
l'application or tu n'a pas créé d'application














ou elle est mal créé
ton un clic sur supprimer puis un clic sur














créer et ça devrait
rouler sinon tu lui met un nom et tu fais














appliquer pour la suite
pour accéder à l'application c comme je t dis
http://localhost/monapplicationName

Sebastien


Elo a émis l'idée suivante :
Merci beaucoup pour ton aide.
J'ai fait ce que tu m'as dit, mais ce qui est
















bizarre,
c'est que dans l'onglet répertoire, il n'y a
















pas de nom,
et ce n'est pas non plus grisé. Donc je n'ai
















pas le
bouton créer, j'ai juste un bouton supprimer
















sur lequel
je peux cliquer.
Par contre dans la zone de nom, je peux entrer
















un nom,
mais si je le fais, il ne propose toujours
















aucun lien
pour que je puisse le créer.
Je ne suis pas sure de m'expliquer très
















clairement mais
j'espère que tu as compris qd même.
Merci en tout cas.

-----Message d'origine-----
En fait voilà le problème

quandf tu a configuré le répertoire virtuel


















IIS tu ne lui a pas
demandé de créer l'application

si tu a un W 2K sous la main ou un XP PRO je


















vais te donner la
manip ensuite à voir si tu a accès au serveur


















qui héberge


clic droit sur Poste de Travail

ensuite "Gérer"

déplier dans la mmc qui s'ouvre "Services


















et applications"
déplier "Services Internet(IIS)"
déplier "Site Web par Défaut"

clic droit sur un répertoire puis propriétés


















si c'est un site web
qui tourne tu vois quelque chose en face


















de "Nom de
l'application" sur l'onglet répertoire sinon c


















grisé dans ce cas tu
clic sur "Créer" et à ce moment tu va dire


















a IIS un truc genre "je
veux que ce répertoire devienne le point


















d'entrèe d'une
application web asp.net" en dessous tu va


















pouvoir configurer si
tu autorise que les scripts ou les


















scripts et les éxécutable.
le mieu c de prendre ton poste de dév et


















de regarder sur le
répertoire correspondant à ton site comment


















il a été configuré
attention le nom d'application donné quand tu


















clic sur Créer et
celui de l'accès à la ressource ex clic et


















ça crée
"lajolieapplication" alors pour appeler ce


















sera
http://localhost/lajolieapplication

Voilà tout ça c le sens de ça

Parser Error Message: It is an error to use a


















section
registered as




















allowDefinition='MachineToApplication'
beyond application level. This error can be




















caused by a
virtual directory not being configured as




















an application
in IIS.



l'authentification ne peu pas se faire car


















pour IIS il n'y a pas
d'application donc pas de droit d'accès au


















compte utilisateur

Sebastien


Elo a présenté l'énoncé suivant :
Merci pour ton conseil.
Là en fait, il m'affiche me message




















d'erreur suivant :

Description: An error occurred during the




















processing of a
configuration file required to service this




















request.
Please review the specific error details




















below and modify
your configuration file appropriately.

Parser Error Message: It is an error to use




















a section
registered as




















allowDefinition='MachineToApplication'
beyond application level. This error can be




















caused by a
virtual directory not being configured as




















an application
in IIS.

Source Error:


Line 442: par Microsoft, qui offre




















des services
d'ouverture de session unique et de profil




















principal aux
sites membres.
Line 443: -->
Line 444: <authentication mode="Windows" />
Line 445:
Line 446: <!-- AUTORISATION

Donc là si je comprends bien il faut que je




















change le
mode d'authentification pour faire en sorte




















que
l'authentification soit faite par un




















formulaire. C'est
ça ?

Merci


-----Message d'origine-----
Bonjour,

dans votre fichier web.config remplacé

<customErrors
mode="RemoteOnly"
/>

par


<customErrors
mode="Off"
/>

ainsi vous verrez apparaitre en clair






















votre erreur (enfin en
plus clair) il faudra le remodifier après






















car c un trou de
sécurité évident certainement qu'avec un






















texte plus clair vous
trouverez plus facilement la solution

Pour Information il n'est pas nécessaire






















de tranférer les pages
de code behind elles ne sont pas nécessaire






















cela peut
d'ailleur être un trou de sécurité si






















quelqu'un acccède au
Avatar
sebastien981_nospam
pour info depuis le début je te dis mon adresse mail est




ou




Voilà pour la suite bon courage ;) et puis personne ne pollue le forum
a partir du moment ou quand on a la solution on la diffuse ;)

Sebastien


Elo a couché sur son écran :
Au fait, un truc qui n'a rien à voir, tu as msn ? J'ai vu
que tu avais un compte hotmail, donc je demande au cas
où... Ca m'évitera de polluer ce forum ;-)

Elo

-----Message d'origine-----
Ok ok ouais je sais je suis méga patient lol

patience et longueur de temps font plus que force ni que rage (Le Cid
Corneille)

alors bonne nouvelle je vois bien le problème mauvaise nouvelle pour le
résoudre il faut essayer beaucoup de chose


L'erreur que tu a peut être due à plusieurs facteurs d'ailleurs ça fait
parti des post fréquent sur les forums

l'erreur que tu a est expliquée ainsi : il y a un écart entre ce que
l'on demande à la clr de compiler pour lancer l'application et ce
qu'elle trouve au moment du lancement alors par exemple tu a fait
hériter global d'une autre classe et tu ne l'a pas transmise sur le
principe dans ton fichier Global.asax.cs tu a remplacé

public class Global : System.Web.HttpApplication
par
public class Global : MaClassePersoAMoi

mais perso je n'en vois pas trop l'intérêt donc maintenant tu a peut
être donnée un autre namespace dans le global.asax ça ce serait
typiquement on bosse a deux sur un projet l'un dit namespace MonName
l'autre dit namespace OtherName et on a recopié le global asax de l'un
sur l'autre topo décalage entre l'assemble compilé qui demande MonName
space et le fichier de le inherits attendu vu que le inherits c'est
forcément Namespace.Classe donc tu peux récupérer le bon namaespace et
remplacer Host par ce que ça devrait être

Pour Info si tu veux reproduire le plantage rien de plus facil un
projet web un webform un bouton et une textbox dessus on compile la
première fois pas de problème affichage de la webform1.aspx avec le
bouton et le textbox on garde le site ouvert
on passe sous visual studio on passe webform1 en mode html et on retire
le namespace donc on passe de

<%@ Page language="c#" Codebehind="WebForm1.aspx.cs"
AutoEventWireup="false" Inherits="Demo.WebForm1" %>

a

<%@ Page language="c#" Codebehind="WebForm1.aspx.cs"
AutoEventWireup="false" Inherits="WebForm1" %>

on fait juste enregistrer et on ne recompile pas puis on repasse sur
Internet explorer on appui sur F5 et là op on a l'erreur il s'agit
d'une erreur d'analyse du fichier

ensuite dans Visual Studio on garde l'erreur et si on test la
compilation ça passe car pour Visual studio inherits WebForm1 est bon


Maintenant comment faire planter Global.asax sur lequel on ne peut pas
passer en mode HTML rien de plus simple

je compile mon projet Demo une première fois , je vais dans le fichier
de codebehind de Global.asax.cs et je modifie le namespace (je ne
supprime pas le namespace je le renomme c'est tout) j'enregistre le
fichier mais je ne compile pas je fais un F5 sur mon internet explorer
et boom plantage cela dit si je compile a présent ça passe comme par
magi pourquoi parce que la DLL dans le dossier Bin s'attend bien
maintenant à avoir un autre namespace (cela par exemple sous entendrais
un global.asax commun a plusieur projet par exemple ou du moins qui
vient d'un autre projet )

j'espères que c clair tu peux refaire c manip là toi même tu verras ça
marche bien pour planter l'appli ;)

Maintenant le problème c'est de reprendre tous les fichier de
codebehind et dans vérifier les namespace reprendre le global.asax.cs
et remettre le bon namespace ensuite recompiler la solution seulement
voilà que peut il se passer imaginons qu'en fait ton global.asax.cs
provient d'un répertoire sur un serveur commun de dév et que ton
global.asax provient du tien il ne seront jamais en accord le mieu dans
ce cas c'est de refaire proprement le global.asax

Attention encore une fois ça peut très bien compiler sans problème met
c'est à l'exécution que ça plante c'est pas la même chose

ensuite tu supprime tous les fichiers que tu a tranféré sur ton serveur
et tout les répertoires parce que aujourd'hui tu sais plus ce qui merde
de ce qui marche et pareil sur ton poste de développement tu supprime
les fichiers de dll dans le répertoire bin pas les autre juste pour
être sur après la compilation que tu a bien les dernières versions des
dll il les recré à chaque fois mais ainsi on est sur du truc puis tu
relance la compilation VS va te recréer les dll même celle qui
proviennent d'ailleur et tu reprend tout les dossiers, les fichiers et
le reste (répertoire, composant) et tu recopie tout sur le serveur à
nouveau tu relance et tu me tiens au courant

Sebastien

(autre citation : cent fois sur le métier remet ton ouvrage :) )

Elo a écrit :
Quelle patience !

Primo : Qu'elle est l'erreur que tu a maintenant ? voir si depuis hier
elle a changée



L'erreur :
Description: An error occurred during the parsing of a
resource required to service this request. Please review
the following specific parse error details and modify
your source file appropriately.

Parser Error Message: Could not load type 'Host.Global'.
Source Error:
Line 1: <%@ Application Codebehind="Global.asax.cs"
Inherits="Host.Global" %>

Deuzio : je parle de projet de déploiement car je t'ai aidé sur un
projet de déploiement donc je pensais que c'était la suite mais
visiblement tu a pris le parti de faire par copie



Finalement je le fais par copie, car je ne dispose pas
des droits sur le serveur pour exécuter le setup généré
par un projet de déploiement

En Trois : tu dis avoir des controles utilisateurs il s'agit de user
control (extension .ascx) ou de web custom control (un


control

Les controles utilisateurs sont des composants ascx que
j'ai développés.
Je les ai réunis dans un dossier appelé "composants" qui
est au même niveau que les pages aspx. Je ne sais pas si
ct la meilleure démarche à adopter mais c mon responsable
qui m'a demandé de faire comme ça alors...

J'espère vraiment que ça sera arrangé avant ce soir...
Merci à toi en tous cas !

Elo

Le 27/08/2004, Elo a supposé :
Bonjour,

J'ai tout recompilé, et remis les fichiers à jour sur le
serveur mais ça ne marche toujours pas.
Je n'utilise pas de Crystal Reports, donc le pb ne vient
pas de là.
Par contre, je me demande pourquoi est-ce que tu parles
de projet de déploiement ? Normalement quand on fait un
déploiement par copie, on a juste à copier les pages
aspx, et les dll, non ?
Enfin, j'en ai mis un quand même parce qu'au début je
pensais l'utiliser (mais j'ai pas les droits sur le
serveur pr lancer le setup), je l'ai recompilé aussi au
cas où.

Mais le problème vient peut-être de mes contrôles
utilisateurs. Ils sont placés dans un répertoire à part.
Du coup j'ai copié l'ensemble du répertoire sur le
serveur pour être sure qu'ils y soient tous. Il y a peut
être une manip supplémentaire à faire, non ?

Désolé si j'ai du mal, mais c'est la première fois que je
fais un déploiement en .net (et je m'en souviendrai !!)

Merci pour ton aide.

Elo.

-----Message d'origine-----
tu ne fera pas appel à une dll tierce que tu n'a pas déployée? par
exemple de jolie Etats Crystal Report et tu n'a pas déployé les dll
crystalreport notament tu n'a pas pensé à les mettre en module de
fusion dans le projet de déploiement?


voilà le lien microsoft sur leur KB pour ce problème

http://support.microsoft.com/default.aspx? scid=kb;en- us;306155

effectivement on peut penser que c'est un problème de compilation
typiquement tu a peut être ajouté une web form après la dernière
compilation et pas pensé à recompiler j'avoue que j'en doute mais qui
sait le plus simple c'est encore que tu recompile tout le projet et
que tu le retransfère sur le serveur juste avec un "copier coller"
tu reprends les fichiers *.aspx web.config, global.asax tout ce
qu'il y a dans le répertoire bin dans un premier temps pour voir un
peu la sauce attention au web.config pense a garder sur off le custom
error il serait éventuellement pas mal de lancer un iisreset sur le
serveur histoire de remettre au propre IIS car avec les manip dessus
on ne sait pas il n'a peut pas bien repris le fil j'ai tendance à
abuser du iisreset je sais pas si c'est bon mais en tout cas on est
sur d'avoir remis en route proprement sans avoir du relancer le
serveur ;)

tiens moi au courant

Sebastien

Dans son message précédent, Elo a écrit :
Bonne nouvelle, je n'ai plus ce message d'erreur.
Mais comme une erreur en cache toujours une autre, celle
que j'ai est de type :
Parser Error Message: Could not load type 'Host.Global'.
D'après la doc il semblerait que j'aie chargé des
fichiers qui n'ont pas été compilés. La je comprends pas
trop, parce que j'ai tout compilé sans problème, et j'ai
chargé aussi le bin avec les dll donc je ne vois pas trop
pourquoi ça ne passe pas...

-----Message d'origine-----
tu a fais ta manip sur ton pc de développement ou sur le serveur
de production?

sur le principe tu peux cliquer sur supprimer et recliquer sur
créer il va te créer l'application web je pense qu'au moment de
ton déploiement tu n'a pas correctement créer le nom de
l'application en fait tu croyais que c t un problème
d'authentification mais c surtout que dans le web.config tout le
début ne sert à rien d'un point de vu application et quand IIS
arrive sur <authentication> là il se dit tiens c'est une
application faut que je lance le petit truc qui demande les login
password windows et il essaie de relier cela à l'application or
tu n'a pas créé d'application ou elle est mal créé ton un clic
sur supprimer puis un clic sur créer et ça devrait rouler sinon tu
lui met un nom et tu fais appliquer pour la suite pour accéder à
l'application c comme je t dis http://localhost/monapplicationName

Sebastien


Elo a émis l'idée suivante :
Merci beaucoup pour ton aide.
J'ai fait ce que tu m'as dit, mais ce qui est bizarre,
c'est que dans l'onglet répertoire, il n'y a pas de nom,
et ce n'est pas non plus grisé. Donc je n'ai pas le
bouton créer, j'ai juste un bouton supprimer sur lequel
je peux cliquer.
Par contre dans la zone de nom, je peux entrer un nom,
mais si je le fais, il ne propose toujours aucun lien
pour que je puisse le créer.
Je ne suis pas sure de m'expliquer très clairement mais
j'espère que tu as compris qd même.
Merci en tout cas.

-----Message d'origine-----
En fait voilà le problème

quandf tu a configuré le répertoire virtuel IIS tu ne lui a pas
demandé de créer l'application

si tu a un W 2K sous la main ou un XP PRO je vais te donner la
manip ensuite à voir si tu a accès au serveur qui héberge


clic droit sur Poste de Travail

ensuite "Gérer"

déplier dans la mmc qui s'ouvre "Services et applications"
déplier "Services Internet(IIS)"
déplier "Site Web par Défaut"

clic droit sur un répertoire puis propriétés si c'est un site
web qui tourne tu vois quelque chose en face de "Nom de
l'application" sur l'onglet répertoire sinon c grisé dans ce cas
tu clic sur "Créer" et à ce moment tu va dire a IIS un truc
genre "je veux que ce répertoire devienne le point d'entrèe
d'une application web asp.net" en dessous tu va pouvoir
configurer si tu autorise que les scripts ou les scripts et
les éxécutable. le mieu c de prendre ton poste de dév et de
regarder sur le répertoire correspondant à ton site comment il
a été configuré attention le nom d'application donné quand tu
clic sur Créer et celui de l'accès à la ressource ex clic et
ça crée "lajolieapplication" alors pour appeler ce sera
http://localhost/lajolieapplication

Voilà tout ça c le sens de ça

Parser Error Message: It is an error to use a section
registered as allowDefinition='MachineToApplication'
beyond application level. This error can be caused by a
virtual directory not being configured as an application
in IIS.



l'authentification ne peu pas se faire car pour IIS il n'y a
pas d'application donc pas de droit d'accès au compte
utilisateur

Sebastien


Elo a présenté l'énoncé suivant :
Merci pour ton conseil.
Là en fait, il m'affiche me message d'erreur suivant :

Description: An error occurred during the processing of a
configuration file required to service this request.
Please review the specific error details below and modify
your configuration file appropriately.

Parser Error Message: It is an error to use a section
registered as allowDefinition='MachineToApplication'
beyond application level. This error can be caused by a
virtual directory not being configured as an application
in IIS.

Source Error:


Line 442: par Microsoft, qui offre des services
d'ouverture de session unique et de profil principal aux
sites membres.
Line 443: -->
Line 444: <authentication mode="Windows" />
Line 445:
Line 446: <!-- AUTORISATION

Donc là si je comprends bien il faut que je change le
mode d'authentification pour faire en sorte que
l'authentification soit faite par un formulaire. C'est
ça ?

Merci


-----Message d'origine-----
Bonjour,

dans votre fichier web.config remplacé

<customErrors
mode="RemoteOnly"
/>

par


<customErrors
mode="Off"
/>

ainsi vous verrez apparaitre en clair votre erreur (enfin en
plus clair) il faudra le remodifier après car c un trou de
sécurité évident certainement qu'avec un texte plus clair
vous trouverez plus facilement la solution

Pour Information il n'est pas nécessaire de tranférer les
pages de code behind elles ne sont pas nécessaire cela peut
d'ailleur être un trou de sécurité si quelqu'un acccède au
répertoire du site et que vous y avez stocké des mot de
passe

le web.config doit être mis à la racine de votre application
web

Sebastien

Elo a écrit :
Bonjour,

Je voudrais faire un test de mise en ligne d'un projet
web, mais ça plante.
J'ai copier sur le serveur dans un dossier à part (pour
faire mes tests) les pages aspx (avec leur code behind,
et la page en resx), le répertoire bin (ou sont les dll
de mes classes), et le web.config.

Quand je regarde dans mon navigateur, il me met une
erreur :
Description: An application error occurred on the server.
The current custom error settings for this application
prevent the details of the application error from being
viewed remotely (for security reasons). It could,
however, be viewed by browsers running on the local
server machine.

Details: To enable the details of this specific error
message to be viewable on remote machines, please create
a <customErrors> tag within a "web.config" configuration
file located in the root directory of the current web
application. This <customErrors> tag should then have
its "mode" attribute set to "Off".

Mais ce que je ne comprends pas, c'est qu'il n'interprète
pas le web.config que j'ai mis en ligne...

Est-ce que quelqu'un voit ce qui ne va pas ?

Merci



--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

.





--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

.





--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

.





--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

.





--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

.





--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

.





--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
1 2