2009-07-06 21 views
4

OK Je suis complètement bloqué sur cette erreur de compilation. C'est un site Web (pas une application Web), .NET 2.0.Erreur de compilation ASP.NET 2.0: Assurez-vous que la classe définie dans ce fichier de code correspond à l'attribut 'inherits'

Je dispose d'un fichier dans ce répertoire: welcome_teams

Nom du fichier: default.aspx

page Déclaration:

<%@ Page Language="C#" MasterPageFile="~/masters/Site.master" 
AutoEventWireup="true" CodeFile="default.aspx.cs" 
Inherits="welcome_teams_default" %>` 

code Derrière

public partial class welcome_teams_default : System.Web.UI.Page 

Et je continue à recevoir cette erreur: Assurez-vous que la classe définit d dans ce fichier de code correspond à l'attribut 'inherits'

J'ai essayé de supprimer le fichier, et de l'ajouter de nouveau comme "nouvel élément" et quoi qu'il arrive, l'erreur persiste.

Des idées?

Merci!

Répondre

3

Ainsi, il n'a rien à voir avec les espaces de noms, il doit faire avec la page default2.aspx, pointant vers la page default.aspx.

L'attribut CodeFile de la page default2.aspx a été défini sur "default.aspx.cs" qui a tout vissé.

Pour tous ceux qui pourraient avoir ce problème dans le futur, vous pouvez parfois le résoudre en changeant CodeFile en CodeBehind.

Aussi, en théorie c'était un problème d'espace de noms, mais dieu est-ce que je déteste comment les projets de site Web traitent les espaces de noms.

0

Vous devez vérifier le fichier default.designer.cs et vous assurer qu'il a également le même nom de classe. Parfois, si un fichier designer.cs existe et est modifié manuellement (mais parfois pour d'autres raisons), la synchronisation entre la page .aspx et le code derrière peut être interrompue. Pour voir le fichier .designer.cs, vous devrez montrer les fichiers cachés dans votre projet.

+0

Je ne pense pas que les projets WebSite aient des fichiers .designer –

+0

Vous avez peut-être raison ... il y a des années que j'ai utilisé un projet "Site Web" pour la dernière fois plutôt qu'un projet "Web App". Cependant, je me souviens très bien que les projets "Site Web" étaient sur la chose la plus buggeuse que Microsoft ait jamais ajoutée à Visual Studio, et nous nous sommes éloignés d'eux pour une très bonne raison.Il est tout à fait possible que vous rencontriez l'un des nombreux bogues extrêmement ennuyeux qui envahissent les projets du site Web. – jrista

+0

Je ne le sais pas. Ma première tâche est de convertir ceci en application web, avec la rapidité! –

1

Il est très probable que votre fichier se trouve dans un dossier à l'intérieur de la racine Web. Lorsque vous le créez, VS modifie l'espace de noms pour les fichiers générés. Par exemple, si le nom de votre site est MyWebsite puis espace de noms par défaut pour MyWebsite;

namespace MyWebsite 

mais pour votre fichier ASPX à l'intérieur welcome_teams il devrait être:

namespace MyWebsite.welcome_teams 

donc dans votre page ASPX essayez de changer:

<% Page ... inherits="welcome_teams_default" %> 

à

<% Page .. Inherits="MyWebsite.welcome_teams.welcome_teams_default" %> 
+0

site n'utilise pas d'espaces de noms –