アホくさいミスによる VB.NET のエラー[プログラミング]
(2017-05-08 13:54:28) by shinoda
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 のバージョンも確認するようにしないとな。
コメント投稿
次の記事へ >
< 前の記事へ
TOPへ戻る
Powered by
MT4i 3.0.8