Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
拡張メソッドが突然エラーに
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30833#CommentId85594
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
魔界の仮面弁士
 (社会人)
投稿日時
2023/1/18 23:41:25
ソースの御提示、ありがとうございます。
(警告が幾つか出ているようなので、問題が片付いたらそっちも添削したい…)
で、問題点は予想通りでした。
ソリューション エクスプローラーを見てみると、
[VocabularyBuilder] プロジェクトの下に
[My Project]
[参照]
[各種フォルダー群]
App.config
Form1.vb
などのように並んでいるかと思いますが、この [参照]を開くと、
標準の .NET Framework が持つアセンブリにに加えて、
何故か [VocabularyBuilder]という、自身と同じ名前が見えると思います。
そして新規プロジェクトの場合、[参照]の下に自分自身は居ないはずです。
[参照]内の[VocabularyBuilder]を選択してみると、プロパティ ペインの「パス」欄に
~~\VocabularyBuilder\VocabularyBuilder\obj\Debug\VocabularyBuilder.exe
という記述が見えるかとおもいます。明らかにこれは、自分自身ですよね。
プログラムをコンパイルした場合、その最終成果物は、\bin の下に生成されるのですが、
そのために必要な中間ファイルは \obj フォルダーに作られます。
その、「以前作った中間生成物」である VocabularyBuilder.exe を、
なぜか自分自身が参照してしまっている状態です。
当然のことながら、このファイルの中には最終成果物と同一の型情報が含まれているため
今回の競合や、フォームデザイナの異常が生じてしまっている…という状況です。
以下の手順で回復できると思います。
(1) フォームデザイナやコードウィンドウなどが開かれていれば、それらをすべて閉じます。
(2) [参照]の一覧から右クリックして、自 exe への不要な参照を[削除]します。
キーボードから [Delete] しても構いません。
(3) プロジェクトが参照しているファイル情報から [VocabularyBuilder] が取り除かれたので、
改めて、[ビルド]メニューから[クリーン]して、中間ファイルと以前の生成物を削除します。
あとはもう一度ビルドしなおすことで、今回の事象が回復すると思います。
試してみてください。