現象
Microsoft .NET Framework 4.5.2 を対象に VB.NET アプリケーションを再コンパイルすると、コンパイル プロセス中に次のエラー メッセージが表示されることがあります。
注
'{Name}' は 'Windows' のメンバーではありません。
このメッセージでは、"{Name}" プレースホルダーは System.Windows 名前空間の子 ("フォーム" や "マークアップ" など) です。
たとえば、エラー メッセージは次のように表示される場合があります。
注
'Forms' は 'Windows' のメンバーではありません。
解決策
この問題には、.NET Framework 4.5.2 "Windows" 名前空間の競合が含まれます。 これは、Windows を使用するコードで発生します。System.Windows を参照する {Name}。{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