Question

J'ai un site Web qui a 2 fichiers comme suit:

  • page.aspx
  • page.aspx.cs

Il fut un temps que je pouvais déposer de nouveaux fichiers sur le serveur Web IIS et compilerions automatiquement les fichiers et je pouvais accéder à la page par exemple.

http://www.website.com/page.aspx

... et la fonctionnalité associée à la classe de page contenue dans le fichier .cs fonctionnerait bien.

Maintenant, je reçois l'erreur. « Impossible de charger le type namespace.classname » qui fait référence à ma classe page

Maintenant, pour une raison étrange, je dois mettre tous mes fichiers .cs, même les classes de pages dans le dossier App_Code.

Tout ce qui a changé sur mon site Web est que je réorganise la sorte qu'au lieu de mes pages étant à la racine web, ils sont maintenant à l'intérieur http:. //.../newfolder/page.aspx

Pour une raison quelconque tous mes fichiers page.aspx.cs doivent maintenant être App_Code.

Toutes les idées?

Était-ce utile?

La solution

On dirait que vous confondez un projet d'application Web et un site Web.

Êtes-vous sûr que les fichiers sont exactement les mêmes? Peut-être une directive @Page dit CodeBehind = Page.aspx.cs et l'autre dit CodeFile = Page.aspx.cs?

CodeBehind nécessite la compilation du projet, de sorte que vous ne pouvez pas laisser tomber dans un nouveau fichier .cs, vous devez télécharger une nouvelle DLL compilée. CodeFile permettra la compilation dynamique.

Le répertoire App_Code est compilé dynamiquement (dans les deux cas) lorsque votre application est accessible, de sorte que la directive Hériter a un type valide lorsque vous mettez le fichier là-bas. En général, ne faites pas cela. Vous voulez que le fichier .cs pour aller avec le fichier .aspx. Utilisez App_Code pour les classes de logique métier ou de services publics qui ne sont pas associés à une page particulière.

Enfin, est-ce nouveau sous-répertoire mis en place une nouvelle application dans IIS? Qu'est-ce que le fichier web.config dans votre nouveau changement de répertoire? Courez-vous la même version de ASP.NET? Vérifiez l'étiquette « compilation ». Je ne sais pas ce que vous pourriez faire là pour causer, mais je suis sûr que vous pourriez causer certains chaos.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top