問題重現
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"
重新編譯程序,發佈網站.搞掂!原來出現錯誤不見了.