分析器錯誤資訊 發現不明確的匹配

2022-09-15 21:18:18 字數 1175 閱讀 5939

今天又碰到這個錯誤了,暈啊;難到我又犯低階錯誤了?

專案發布了一下,執行時就出錯了,錯誤**如下:

說明:在分析向此請求提供服務所需資源時出錯。請檢查下列特定分析錯誤詳細資訊並適當地修改原始檔。 

分析器錯誤資訊:發現不明確的匹配。

源錯誤:

「/」應用程式中的伺服器錯誤。分析器錯誤

原始檔:/web/govopen/departinfo.aspx行:1

這個錯誤的原因我自然是很清楚,只是不知道為什麼它會出這個錯。

估計前一段,要新增功能,我沒功夫做,讓乙個同事幫做了,可能是他在頁面中新增的控制項id與cs檔案中我原有的變數名重名。檢視了一下源**,果然如此;

今天有空,解釋一下這個錯誤的原因吧。

在asp.net中,每個aspx頁面都會有乙個.cs檔案,(好像不可以多個aspx共用乙個cs的,我前面就碰到這個問題),在aspx頁面中,我們會用到伺服器控制項,或html控制項,這些控制項的id命名時,如果與cs檔案中的變數重名的話,就會出錯;而且不管大小寫是否一樣,都會報錯;

可能大家會問,c#不是區分大小寫的嗎?c#是區分大小寫的,也正是因為如此,我們在除錯時不會報錯,而iis呢,它是不區分大小寫的,發布後,就報錯了。

當然,如果你不想改動程式去修正這個錯誤的話,你也可以將整個專案的源程式複製到iis目錄下,就可以正常執行,呵呵,非常不建議這樣做;

我們寫在程式時,雖然c#中,變數string company與string company會被區分成兩個變數;但我們並不提倡這樣做,應盡量避免,這個大家一般不會寫錯;主要是aspx頁面中的控制項id,id之間也不要用相同的字元,而且與cs檔案中變數名也不要採用相同的字元,不僅是區分大小寫的問題;

再有,就是,在程式中,我們寫好了一類,如deparment;而我們在aspx的頁面中,放了乙個控制項,如gridview,其id為department或是deparment,在cs檔案中,我們照樣可以deparment.datasource,以及deparment.databind()來繫結,都不會報錯的;而一旦發布後,到了iis中,就會報錯;

這些命名方法,雖然不算錯誤的,但要避免,不要光看除錯時報不報錯,關鍵是,專案發布後是否正常執行;我們還要考濾專案發布後的執行環境,就是在iis下的情況。

c 分析器錯誤訊息 發現不明確的匹配。

1 相同的變數名稱 protected system.web.ui.webcontrols.label lbltitle protected system.web.ui.webcontrols.label lbltitle 2 查詢你的aspx頁面裡面的控制項是否有和你的aspx.cs裡面的類變數重...

編譯測試後出現「發現不明確的匹配」錯誤

分析器錯誤 說明 在分析向此請求提供服務所需資源時出錯。請檢查下列特定分析錯誤詳細資訊並適當地修改原始檔。分析器錯誤資訊 發現不明確的匹配。這個問題發生原因一般情況是 aspx頁面裡面的控制項有與您的aspx.cs裡的類變數重名 不區分大小寫 的id 以下有兩個實際應用的例子,以供借鑑 1 我發現在...

c 反射過載方法(發現不明確的匹配)

getmethod string name 在反射過載方法時,如果呼叫此過載方法,會產生 發現不明確的匹配 的錯誤。解決方案如下 getmethod methodname new type 其中type陣列中的項的個數是由要呼叫的方法的引數個數來決定的。如果無引數,則new type 使type陣列...