.NET Framework アプリケーションで以下の例外、エラーが発生します。
以下の手順でエラーを解消できる場合があります。
NuGetパッケージマネージャーで、System.ValueTupleの最新バージョンのパッケージライブラリをインストールします。
.NET Frameworkアプリケーションの場合、NuGetでインストールしただけではプロジェクトの参照ノードに追加されないため、手動で参照追加する必要があります。
ソリューションエクスプローラーでプロジェクトのノードを開き、[参照]のノードで右クリックします。
ポップアップメニューの[参照の追加]の項目をクリックします。
[参照マネージャー]のダイアログが表示されます。左側のメニューの[参照]をクリックします。
下図の画面に切り替わりますので、ダイアログ右下の[参照]ボタンをクリックします。
ファイルの選択ダイアログが表示されます。
以下のパスのSystem.ValueTuple.dll
ファイルを選択します。
(ソリューションのパス)\packages\System.ValueTuple.4.6.1\lib\net47\System.ValueTuple.dll
選択したSystem.ValueTuple.dll
アセンブリを追加します。
ソリューションエクスプローラーのプロジェクトの[参照]ノード内に System.ValueTuple の項目が追加されます。
ソリューションエクスプローラーのプロジェクトの[参照]ノードの System.ValueTuple の項目を選択します。
選択した状態でプロパティウィンドウの内容を確認します。
[バージョン]の値を確認します。下図では、バージョンは"4.0.5.0"となります。
System.ValueTuple のアセンブリがビルド先にコピーされる動作にします。
ソリューションエクスプローラーのプロジェクトの[参照]ノードの System.ValueTuple の項目を選択します。
選択した状態でプロパティウィンドウの[ローカルにコピー]の設定を"True"に変更します。
App.configファイルを変更します。newVersion
のバージョン値は先の手順で調べたSystem.ValueTuple のアセンブリバージョンを記述します。
今回の場合は "4.0.5.0" になります。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8.1"/>
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<!-- 中略 -->
<dependentAssembly>
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.5.0"/>
</dependentAssembly>
<!-- 中略 -->
</assemblyBinding>
</runtime>
</configuration>
exeファイルと同じディレクトリに System.ValueTuple.dll が配置されていることを確認し、プログラムを実行します。
実行してエラーや例外が表示されないことを確認します。