C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■86250 / )  Re[5]: バイナリデータの途中から切り出して出力する方法
□投稿者/ 魔界の仮面弁士 (1527回)-(2018/01/05(Fri) 13:46:44)
解決済みのようですが、一応補足として。

No86238 (へなちょこ さん) に返信
> 使っているのは、VB2017です。

先の No86235 のコードは、プロジェクトを作成する際に
 [新しいプロジェクトの作成]
  [Visual Basic]
   [Windows クラシック デスクトップ]
    [コンソール アプリ (.NET Framework)] (.NET Framework 4.7.1)
を選択した場合のものです。
(上記以外にも利用可能な組み合わせがあります)



モジュールをご存じなかったという事は、今回はおそらく、
コンソールアプリ以外……たとえば、
  [Windows フォーム アプリケーション (.NET Framework)]
あたりを選択しており、かつ、.NET Framework のバージョンとして
『.NET Framework 4.7 未満』を選んでいたのであろうと想像します。

※ターゲット フレームワークが .NET Framework 4.7 もしくは 4.7.1 に
 なっていた場合には No86235 のコードをそのまま利用することができます。


もし、どのフレームワークを選択していたのか忘れてしまっている場合には、
ソリューション エクスプローラーの [My Project」をダブルクリックして、
「アプリケーション」タブの「ターゲット フレームワーク」の値を確認してみてください。

※ソリューション エクスプローラーが見つからない場合は、
 [表示]メニューを開くと、ソリューション エクスプローラーが見つかります。


プロジェクトの .NET Framework のバージョンが 4.7 未満だった場合には、
ターゲット フレームワークを 4.7 / 4.7.1 に上げることで、
No86235 のコードが動作するようになります。

そしてこれが、 No86237 の回答で
>>> System.ValueTuple 構造体を使うには .NET 4.7 以降を採用するか、
>>> もしくは nuget から System.ValueTuple を参照する必要があります。
と述べた部分に当たります。



もしも何らかの理由で、お使いの ターゲット フレームワークを
.NET Framework 4 / 4.5 / 4.5.1 / 4.5.2 / 4.6 / 4.6.1 / 4.6.2
のいずれかにしておきたい場合には、追加の参照設定を施すことで動作するようになります。

具体的には、メニューの [プロジェクト]-[nuget パッケージの管理] を開き、
「参照」タブをクリックしてから、検索ボックスに「System.ValueTuple」を入力して、
検索でヒットした System.ValueType を選択して『インストール』ボタンを押すことで、
必要なライブラリがプロジェクトに取り込まれ、先の
>>> 「定義、またはインポートされてない」というエラー表示
が回避され、 No86235 のコードが動くようになるはずです。

これが No86237 の回答で
>> System.Tuple クラスを使うには .NET 4.0 以降が必要です。
と述べた部分に当たります。


しかし、ターゲットフレームワークが .NET Framework 2 / 3.0 / 3.5 であった場合には、
そもそもタプルが利用できません。ターゲットフレームワークを 4.7 以降に変更するか、
No86237 で紹介した、タプルを使わないコーディングを選択してみてください。
解決済み
返信 編集キー/


管理者用

- Child Tree -