アホくさいミスによる VB.NET のエラー

List(Of String)型の変数に格納されたデータを、

Dim buff As New List(Of String)
Dim str As String
...(略)
buff.Add(hogehoge)
...(略)

str = String.Join("/", buff)

みたいに連結してひとつの String 型の変数にセットする処理が、あるプロジェクトではエラーにならず、あるプロジェクトでは

BC30311 型 'List(Of String)'の値を 'String()' に変換できません。

のエラーになってしまう。

str = String.Join("/", buff.ToArray)

という具合に明示的に型変換をしてやればエラーは出ないので、どこかに「暗黙の型変換を許すか否か」の設定があって、それでエラー有無の違いになってんじゃねえの?と思い、他のソースの比較や、プロジェクトのプロパティの内容の確認などしてたんだけど、そんな設定項目は見つからず。

結局、同僚が「あ、これじゃない?」と「原因」を見つけてくれて解決した。ありがたや、ありがたや。

まあ、ほんとは恥ずかしいので書きたくないんだけど、このブログ、俺のメモ帳でもあるので書いとく。

原因は、プロジェクトのプロパティ内の「アプリケーション」→「対象のフレームワーク」が「.NET Framework 2.0」になっていたため。
最新の「.NET Framework 4.6.1」を指定しなければいけなかった。
これだけでエラー消滅・・・

ああ・・・何というしょうもないミスでしょう・・・ 5/2 から日をまたいでずっと悩んでたよ(^^;;;;

同じコードなのに動きが違う場合、.NET Framework のバージョンも確認するようにしないとな。

トラックバック(0)

このブログ記事を参照しているブログ一覧: アホくさいミスによる VB.NET のエラー

このブログ記事に対するトラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/4387

コメントする

このブログ記事について

このページは、shinodaが2017年5月 8日 13:54に書いたブログ記事です。

ひとつ前のブログ記事は「4/2 の LOUDNESS のライブについて書いていなかった」です。

次のブログ記事は「原爆投下直後の地獄絵図」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら