问题重现
1.创建一个web site
2.新建一个Login.aspx,默认情况下,Login.aspx页中的Page指令
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Login" %>
Login.aspx.cs
public partial class Login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
3.生气网站,输出:
验证完成
========== 生成: 1 成功或最新,0 失败,0 被跳过 ==========
4.发布网站,输出:
------ 发布已启动: 项目: D:/.../Test/, 配置: Debug .NET ------
========== 生成: 1 成功或最新,0 失败,0 被跳过 ==========
========== 发布: 1 个成功,0 个失败,0 个跳过 ==========
5.打开IIS创建一个站点,并把主目录指向网站发布所在目录,浏览Login.aspx,出现错误:
编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。
编译器错误信息: CS0030: 无法将类型“ASP.login_aspx”转换为“System.Web.UI.WebControls.Login”
=============
错误原因:
login.aspx.cs文件的类名跟vs2005中的用户登录控件的类名相同了
解决方法:
1.把login.aspx.cs文件的类名login改为其他名字,例:MyWeb_Login
2.login.aspx中的Inherits="Login" 中的"Login"改为跟上面名字相同,例:Inherits="MyWeb_Login"
重新编译程序,发布网站.搞掂!原来出现错误不见了.