スキップしてメイン コンテンツに移動

コンパイラが必要とするメンバー 'Microsoft.CSharp.RuntimeBinder.Binder.Convert' がありません

ターゲットフレームワークを .NET Framework3.5 から NET Framework4.6.2 に変えたところ、見慣れないビルドエラーが起きた。



エラーが起きるのは、以下のコード、エクセルの1枚目のワークシートを代入しているだけの、ごくありふれたコードなのだが、、、

Microsoft.Office.Interop.Excel.Workbook wb = オブジェクトを代入 ;
Microsoft.Office.Interop.Excel.Worksheet ws = (Microsoft.Office.Interop.Excel.Worksheet)wb.Sheets[1];

これも参照設定をよく見ると「Microsoft.CSharp」が無いので、これがエラーの原因だろう。.NET Framework3.5  をターゲットにして2年前にプロジェクトを作ったので、そのときは「Microsoft.CSharp」の参照がされていなかったようだ。

ということで、参照に追加したら、ビルドエラーも消えた。

コメント

このブログの人気の投稿

SQLでは文字列の前に「N」が必要だ

SQLServerのテーブルにテキストを登録したら一部の文字が文字化けした。環境依存文字だと化けるみたい。

コンボボックスのDataSourceプロパティの使い方

コンボボックスに表示するデータを設定するのを簡単にする工夫をまとめます。コンボボックスのDataSourceプロパティを上手に使いましょう。(2017/8/30追記)