Errore di compilazione ASP.NET 2.0:Assicurati che la classe definita in questo file di codice corrisponda all'attributo 'inherits'

StackOverflow https://stackoverflow.com/questions/1088204

Domanda

Ok, sono completamente bloccato su questo errore di compilazione.È un sito Web (non un'app Web), .NET 2.0.

Ho un file in questa directory:benvenuti_teams

nome del file:default.aspx

Dichiarazione di pagina:

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

Codice dietro

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

E continuo a ricevere questo errore:Assicurati che la classe definita in questo file di codice corrisponda all'attributo 'inherits'

Ho provato a eliminare il file e ad aggiungerlo di nuovo come "nuovo elemento" e, qualunque cosa accada, l'errore persiste.

Qualche idea?

Grazie!

È stato utile?

Soluzione

Quindi, non ha nulla a che fare con gli spazi dei nomi, ha a che fare con la pagina default2.aspx, che punta alla pagina default.aspx.

L'attributo CodeFile della pagina default2.aspx era impostato su "default.aspx.cs", il che ha rovinato tutto.

Per chiunque potrebbe avere questo problema in futuro, a volte puoi risolverlo cambiando CodeFile in CodeBehind.

Inoltre, in teoria si trattava di un problema di spazio dei nomi, ma Dio quanto odio il modo in cui i progetti di siti Web gestiscono gli spazi dei nomi.

Altri suggerimenti

Molto probabilmente poiché il tuo file si trova in una cartella all'interno della web root, quando lo crei VS cambia lo spazio dei nomi per i file generati.Ad esempio, se il nome del tuo sito è Il mio sito web Poi spazio dei nomi predefinito perché è MyWebsite;

namespace MyWebsite

ma per il tuo file aspx all'interno di Welcome_teams dovrebbe essere:

namespace MyWebsite.welcome_teams

quindi nella tua pagina aspx prova a cambiare:

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

A

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

Dovresti controllare il file default.designer.cs e assicurarti che abbia anche lo stesso nome di classe.A volte, se esiste un file designer.cs e viene modificato manualmente (ma a volte per altri motivi), la sincronizzazione tra la pagina .aspx e il codice sottostante può interrompersi.Per vedere il file .designer.cs, dovrai mostrare i file nascosti nel tuo progetto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top