2012-11-12 417 views
0

我的幾個ASP.NET MVC 2(.NET 3.5)項目採用亞音速2,因爲它是在項目的數據層主數據庫訪問。這工作得很好,數據庫中的所有內容都可以毫無問題地訪問。但是,最近,我的工作實施了「零警告」政策,因此我們一直在審查所有項目,以消除項目中的任何警告(如果可能)。在生成的類亞音速生成編譯器警告

有問題的項目只有亞音速警告留下然而要麼消除或抑制,這些生成的類本身,這使得去除它們很成問題中找到。是我得到的警告如下:

  • 「......重寫Object.Equals(對象o),但不重寫Object.GetHashCode()......」 在ActiveRecord.cs
  • 」 .. 。請將.Name」隱藏繼承成員‘SubSonic.Schema.DatabaseTable.Name’。使用new關鍵字隱藏,如果是打算......‘在Struct.cs
  • ’多個模板指令是在模板中找到所有但第一個將被忽略多個參數的模板指令應一個模板指令內指定「在Settings.ttinclude
  • 」編譯轉型:變量‘參數’是分配但它的值從未使用「在SQLServer.ttinclude
  • 」不再支持C#2.0和C#3.5編譯器。模板將始終使用版本4編譯器而不是「指定的」v3.5「進行編譯。」

我試圖到處搜索這些警告的解決方案,但目前爲止沒有運氣。任何人都遇到過這樣的警告,如果是這樣,你是怎麼解決的?謝謝。

+0

你使用的是什麼確切的版本?也許嘗試更新的2.x版本?我沒有收到任何警告VS2012/2010 3.5/4.0。你確定你沒有使用第3版?從內存來看,版本3使用了tt文件。 –

回答

1

你不會喜歡這個。

,將解決你的問題一勞永逸唯一的選擇就是下載SubSonic來源,對templates進行必要的更改,重新編譯並使用您自己的二進制文件,而不是股票下載。

從長遠來看,我強烈建議徹底拋棄SubSonic。這不值得痛苦。

+1

另一方面,我發現這是它的優勢之一。代碼很容易理解,並且模板很容易定製(只要您在小步驟中進行更改並檢查它們是否仍然有效)。 –

+0

感謝Jon的幫助,我們實際上已經停止在我們的新項目中使用SubSonic來支持Entity Framework,但我只是希望我們能夠解決我們舊項目的警告。因此,現在我被告知不必擔心,但我會保留模板位置的記錄以供將來參考,謝謝。 – Jonk268