2009年6月19日

解決 Cannot convert type 'ASP.login_aspx' to 'System.Web.UI.WebControls.Login'

由於最近有些系統在搬遷
原本在舊 Server 上運作很順利的系統,一搬到新 Server 瞬間掛掉
出現的訊息還是沒看過的 source code,這到底是怎麼一回事呢?


坎尼開了系統上的 Login.aspx.cs 想找上圖裡錯誤訊息
卻發現根本沒這段 code,七月還沒到,怎麼阿飄自己先來啦?

把錯誤訊息丟上網才發現,原來是 partial class 惹的禍
.net 2.0 新增的 Login 控制項剛好 class name 也是叫 Login
所以兩個名字一樣的就要有一個去鄉公所改名啦

把 class name 及 aspx 的 inherits 改掉即可成功在 Server 上運作



但坎尼覺得還是很奇怪,怎麼舊的Server都沒這個問題呢?
明明兩台的環境都是 windows server 2003 sp2

後來發現原來是新機器的 .net framework 2.0 還沒裝 sp
裝上 .net framework 2.0 sp1
連程式都不用改!!! 問題解決!!!!


同樣的問題也會發生在命名為 Menu 的頁面
記得至少要把部署機器上的 .net framework 2.0 升級到 sp1

1 則留言:

Unknown 提到...

辛苦啦!要在 Windows (& .NET Framework) 上開發,就是要信任 MS,隨時保持更新到最新的 patch,日子才會好過 :) (理論上啦 ...)

Google Spreadsheet 裡用規則運算式

最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D