以下のエラーが出る場合の対処方法
「コンパイル エラー メッセージ: CS0030: 型 'ASP.login_aspx' を型 'System.Web.UI.WebControls.Login' に変換できません。」
(原因)
Visual Studio 2005からWebサイトの発行の際に、「このプリコンパイルされたサイトを更新可能にする」にチェックして発行した場合、コードビハインド部分はコンパイルされて/binフォルダにアセンブリとして配置され、aspxファイルはそのまま配置されます。この状態で、aspxファイルへのリクエストが来た場合、aspxファイルと/binフォルダのアセンブリを合わせて実行時コンパイルされますが、この際にLogin.aspxファイルは、コードビハインドにある本来のLoginクラスではなく、ログインコントロールのLoginクラスとして扱われてしまうために、このような障害が発生します。これはバグです。
(対策)
以下のいずれかを実施する。
1.Login.aspxのファイル名を他の名前に変更する。
2.名前空間を定義する。(下記の参考1のサイトより引用)
例
<%@ page ... inherits="theNs.Login" %.
namespace theNs { public partial class Login : System.Web.UI.Page { .. } }
3.xcopy配置をする。
4.「このプリコンパイルされたサイトを更新可能にする」にチェックしない。
(参考)
1.CS0030: Cannot convert type 'ASP.login_aspx' to 'System.Web.UI.WebControls.Login'
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=102543
2.ログインのランタイムエラーについて
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=635180&SiteID=7