我已經繼承了我需要編譯的VB.NET應用程序,所以我可以在其上運行dokumentation。我第一次收到「Option Strict On禁止從x到y的隱式轉換」錯誤,因此我關閉了Project文件中的Option Strict選項。如果「Option Strict」關閉,爲什麼編譯失敗並顯示「Option Strict On」?
那麼,爲什麼我仍然失敗,同樣的錯誤信息?
我已經繼承了我需要編譯的VB.NET應用程序,所以我可以在其上運行dokumentation。我第一次收到「Option Strict On禁止從x到y的隱式轉換」錯誤,因此我關閉了Project文件中的Option Strict選項。如果「Option Strict」關閉,爲什麼編譯失敗並顯示「Option Strict On」?
那麼,爲什麼我仍然失敗,同樣的錯誤信息?
我第一次收到「Option Strict On禁止從x到y的隱式轉換」錯誤,所以我關閉了項目文件中的Option Strict選項。
與之相反,修復錯誤?請原諒我的諷刺,但你已經選擇了錯誤的修復:而不是禁用Option Strict
你應該修復編譯器指出的錯誤。畢竟,Option Strict
的全部意義在於幫助使代碼更加健壯。
這就是說,有其控制Option Strict
地方(和所有其他選項):
web.config
編譯器命令行,檢查Option Strict
是關閉的地方2,3和4,它是到位1(因爲轉向一般Option Strict Off
是一個非常,非常糟糕的主意)。那麼問題應該消失了。
也嘗試在web.config
中禁用設置明確。我這裏發生了肢體但根據forums.asp.net這可以通過添加直接在<configuration>
節點內的下列來完成:
<system.codedom>
<compilers>
<compiler compilerOptions ="/optionstrict-" language="vb;vbs;visualbasic;vbscript"
extension=".vb"
type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</compilers>
</system.codedom>
...可能已經有一個<compiler>
節點 - 修改。
是正確的。請,請相信,請通過明確添加適當的投射操作來解決問題。 – magma 2011-04-13 20:01:01
感謝您的迴應。首先關注,修復錯誤,不,我並不擔心這一點。只是想把它變成一個可建立的狀態,所以我可以運行它的文檔。第二個問題,項目文件選項嚴格關閉,文件級別選項S zones關閉,並且(良好的調用!)Web.Config沒有引用Option Strict。 – grefly 2011-04-13 20:03:58
@magma - 感謝您的關注,這是一個已在生產中的遺留應用程序,我將重新編寫。無論在哪裏編譯的選項都已經存在並且正在運行,我只想將其記錄在當前狀態中。 – grefly 2011-04-13 20:05:21
Option Strict阻止程序進行自動變量轉換,即隱式數據類型轉換。
你可以發佈導致錯誤的行嗎? – 2011-04-13 19:56:59
Dim ExceptionHandler As ExceptionHandler = Me.LoadControl(ConfigurationSettings.AppSettings(「PagesFolder」)&「ExceptionHandler.ascx」) – grefly 2011-04-13 20:06:49