2010年10月5日 星期二

ASP.NET 錯誤:找到模稜兩可的符合項目

同事問我這個問題怎麼解?

剖析器錯誤
描述: 當剖析服務此要求所需的資源時發生錯誤。請檢閱下列的特定剖析錯誤詳細資訊,並且適當地修改您的原始程式檔。

剖析器錯誤訊息: 找到模稜兩可的符合項目。

SNAGHTML1c362fe

過程

這個問題花去我不少的時間。第一時間還以為是多餘的 dll 殘存在 bin 目錄下。找了很久沒有找到。

並且,這是 WebSite 的模型,經由 publish 得到的 dll,並不會有上述殘存的 dll。

終於,使用 .net reflector 找到了問題所在。

原因

這原本是個 VS2003 開發的程式,而 VS2003 只有一種 Web application 的模型。經由不知名的人改成 Web site 模型,又不小心將 aspx 中,原來 ID=”_hid002oid” 的 control,改名為 ID=”_hid002OID”,雖然只是大小寫的差別,但在 C# 就足以形成兩個 member field了。

image

解法

將aspx 與 codebehind  的 control 名稱統一即可。

沒有留言:

Share with Facebook