2014-06-30 92 views
2

我希望能幫助我將Winforms C Sharp項目移植到單聲道。當我運行遷移助手工具時,沒有問題。然而,當我在2013 VS編譯後嘗試將程序我得到:單聲道移植問題

未處理的異常:System.InvalidProgramException:無效的IL代碼System.Windows.Forms.Form中:.ctor()方法體是空的。

在TicketDL.Form2..ctor()[0x00000]在:0

在(包裝遠程-調用與 - 檢查)TicketDL.Form2:.ctor()

在TicketDL System.Windows.Forms.Form中無效的IL代碼:.ctor():方法體是 空的.Program.Main()[0x00000] in:0 [ERROR]致命未處理異常:System.InvalidProgramException:

在TicketDL.Form2..ctor()[0x00000]在:0

在(包裝遠程-調用與 - 檢查)TicketDL.Form2:.ctor()

在TicketDL.Program .Main()[0x00000] in:0

你們有沒有人知道這意味着什麼?我試圖刪除任何空的方法,我可以找到!但是這個錯誤不斷出現!

+0

Mono WinForms不再被積極開發/維護。因此,請仔細瞭解您面臨的風險。 –

回答

3

System.Windows.Forms.Form.ctor專門引用在System.Windows.Forms.Form類中定義的構造函數,並不一定與從它繼承的類(即您的代碼)有任何關係。由於這是IL錯誤,因此所有內容都有這樣明確的名稱空間。此外,由於這是IL,這發生在編譯後級別,而不一定是來自您在更高級別(C#)代碼中做錯的事情。

然而,這個類只有一個重載,所以你可能想要檢查你正在構建的目標運行時間 - Mono 3.2被Xamarin列爲與.NET 4.5相當的值,但你可能會建立在4.5 0.1。另外考慮下載並使用Xamarin構建,因爲它有時可能會有稍微不同的輸出,並且會幫助您排列您的程序所針對的Mono平臺。

在很大程度上,MOMA似乎被描述爲分析您正在調用的方法,哪些還沒有被Mono實現。此外,千萬不要忘記檢查Compatibility Page,以防萬一MOMA錯過任何東西

+0

謝謝!它擺脫了錯誤......但現在我得到了無用的幫助:此應用程序已經請求運行時以不尋常的方式終止它。 有關更多信息,請聯繫應用程序的支持團隊。 – JonathanTien

+0

確保你在x32或任何CPU上運行 - Xamarin(錯誤11207)中有一個錯誤,它阻止它調試x64。除此之外,斷點,並確保您在Project - > Runtime下切換到.NET運行時。 – David