狀況
當您重新編譯為目標的 Microsoft.NET Framework 4.5.2 VB.NET 應用程式,可能會在編譯過程中收到下列錯誤訊息︰
'{Name}' 不是 「 視窗 」 的成員。
在這個訊息中,"{Name}"預留位置是子項目 System.Windows 命名空間,例如 「 表單 」 或 「 標記 」。
例如,錯誤訊息可能會出現,如下所示︰
[表單] 不是 「 視窗 」 的成員。
解決方案
這個問題牽涉到.NET Framework 4.5.2 「 視窗 」 命名空間的衝突。它將會發生在程式碼中使用 Windows。{Name} 來參考 System.Windows。{Name}。
若要解決這個問題,變更程式碼來完整限定命名空間,或匯入的完整命名空間以及其簡單名稱來參考其型別。
例如,下列程式碼將會造成錯誤︰
Module Module1
Sub Main()
Windows.Forms.MessageBox.Show("Example")
End Sub
End Module
不過,下列程式碼將會成功編譯︰
Imports System.Windows.Forms
Module Module1
Sub Main()
MessageBox.Show("Example")
End Sub
End Module
下列程式碼也將會成功編譯︰
Module Module1
Sub Main()
System.Windows.Forms.MessageBox.Show("Example")
End Sub
End Module