好的,我完全陷入了这个编译错误。它是一个网站(不是网络应用程序),.NET 2.0。
我在此目录中有一个文件:welcome_teams
文件名:default.aspx
页面声明:
<%@ Page Language="C#" MasterPageFile="~/masters/Site.master"
AutoEventWireup="true" CodeFile="default.aspx.cs"
Inherits="welcome_teams_default" %>`
背后的代码
public partial class welcome_teams_default : System.Web.UI.Page
我一直收到这个错误: 确保此代码文件中定义的类与'inherits'属性匹配
我已尝试删除该文件,并将其再次添加为“新项目”,无论如何,错误仍然存在。
有什么想法吗?
谢谢!
答案 0 :(得分:3)
因此,它与命名空间无关,它与default2.aspx页面有关,指向default.aspx页面。
default2.aspx页面的CodeFile属性设置为“default.aspx.cs”,这搞砸了所有内容。
对于将来可能遇到此问题的任何人,您有时可以通过将CodeFile更改为CodeBehind来解决此问题。
另外,理论上它是一个命名空间问题,但上帝我讨厌网站项目如何处理命名空间。
答案 1 :(得分:1)
最有可能的原因是您的文件位于Web根目录下的文件夹中,当您创建它时,VS会更改生成文件的命名空间。例如,如果您的站点名称是 MyWebsite ,那么默认名称空间就是MyWebsite;
namespace MyWebsite
但是对于welcome_teams中的aspx文件,应该是:
namespace MyWebsite.welcome_teams
所以在您的aspx页面中尝试更改:
<% Page ... inherits="welcome_teams_default" %>
到
<% Page .. Inherits="MyWebsite.welcome_teams.welcome_teams_default" %>
答案 2 :(得分:0)
您应该检查default.designer.cs文件,并确保它也具有相同的类名。有时,如果designer.cs文件存在,并且是手动编辑的(但有时由于其他原因),.aspx页面和后面的代码之间的同步可能会被破坏。要查看.designer.cs文件,您需要在项目中显示隐藏文件。