2010-04-29 42 views
0

當我試圖從我的開發環境,我得到了以下錯誤消息運行我的ASP.NET應用程序:編譯器錯誤消息:CS1502:爲「mmars的最佳重載的方法匹配。 Printing.printFunctions.SetPrintSummaryProperties(mmars.contextInfo,ref mmars.Printing.printObjSummary)'有一些無效參數越來越CS1502編譯器錯誤,但不是生產

當我發佈和我們的生產服務器上運行,我沒有得到這個錯誤。

它似乎編譯罰款,當我從構建菜單生成(實際上,如果我改變了下面粗體函數調用的第二個參數,我在Visual Studio中得到一個編譯器錯誤),但現在我突然開始獲取運行時出現此錯誤消息。所以除了擺脫錯誤之外,另一個問題是爲什麼.NET開發服務器甚至試圖對我的項目進行JIT編譯,如果它已經編譯到DLL中的話?

Printing.printObjSummary myPrintObj = new Printing.printObjSummary(); Printing.printFunctions.SetPrintSummaryProperties(ci, ref myPrintObj); printObjects.Add(myPrintObj);

這似乎剛纔突然出現無處今天這是非常令人沮喪的。

此外,雖然有在編譯時沒有警告,當我重定向頁面與第一編譯錯誤有類似下面的許多警告:

警告:CS0436:類型「mmars.MMARSSummaryDataItem '在 'C:\ WINDOWS \ Microsoft.NET \框架\ V2.0.50727 \臨時ASP.NET文件\ ROOT \ 3dad423c \ 40569048個\ App_Code.b0rgpkzr.4.cs' 衝突與進口型 'mmars.MMARSSummaryDataItem' 在' c:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ root \ 3dad423c \ 40569048 \ assembly \ dl3 \ 7179c19a \ 345f948c_ece7ca01 \ mmars.DLL'。使用'c:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ root \ 3dad423c \ 40569048 \ App_Code.b0rgpkzr.4.cs'中定義的類型。

這是怎麼回事? Web服務器是否抱怨源文件中的名稱衝突和源文件導致的dll?

回答

2

事實證明,要解決這個問題簡單地重新命名我的App_Code文件夾到別的東西。很顯然,開發Web服務器試圖在名爲App_Code的文件夾中對JIT進行編譯,即使這些文件的所有成員已經存在於編譯後的程序集中,這也是導致此問題的原因。

+0

我幾乎放棄瞭解決這個問題。這對我有效。 – Christopher 2012-04-04 14:10:01

+0

zomg,謝謝隊友......這太討厭了! – f0x 2012-11-04 20:30:03

0

您是否嘗試清除Temporary ASP.NET Files?這是可能的組件的緩存版本不同步之類的東西......

另一種可能性(遠程),是舊版本的DLL是在你的程序集緩存?

+0

是的,我試着刪除一切 'C:\ WINDOWS \ Microsoft.NET \框架\ V2.0.50727 \臨時ASP.NET文件\',它並沒有解決這個問題。除此之外,我還需要擔心其他任何臨時目錄? 感謝您的回覆 – 2010-04-29 23:34:25