[解決済み] ファイルまたはアセンブリ 'System.ValueTuple' を読み込むことができませんでした。
質問
私は VS2017 プロジェクトを持っていて、それは DLL にコンパイルされ、他の人が書いた EXE によって呼び出されます。両方のプロジェクトは、.Net Framework 4.6.2をターゲットにしています。私は私のDLLメソッドの1つをタプルを返すように書き直し、関連するNuGetパッケージもインポートしました。プロジェクトをコンパイルすると、出力ディレクトリにSystem.ValueTuple.dllが含まれ、その後、他のマシンにデプロイされ、私のDLLはEXEによってロードされ、呼び出されます。しかし、EXEがタプルを返すメソッドを呼び出そうとすると、クラッシュします。
予期しないエラー ファイルまたはアセンブリ 'System.ValueTuple, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' またはその依存関係の 1 つを読み込めませんでした。システムは指定されたファイルを見つけることができません。
DLL と同じフォルダーにあるにもかかわらず、なぜファイルが見つからないのか理解できません。どうやら、MS はこのアセンブリを .Net Framework 4.6.2 に含めていないようです。
私の DLL は、Windows で machine.config ファイルを使用して登録されていることに注意してください。このファイルに System.ValueTuple.dll も追加すれば、動作するのではないかと推測しています (まだ試しておらず、これが最善の方法であるかどうか、特に長期的にはわかりません。)。4.6.3 を待ち、その中にこのアセンブリが含まれていることを期待する以外に、より良い方法があるでしょうか?
どのように解決するのですか?
私は、コンピュータの machine.config ファイルに System.ValueTuple を登録することでこの問題を解決しました (すでに登録されている私自身の DLL と共に)。しかし、この方法は、いつでも変更可能な DLL のバージョンに依存するため、特に好きではありません。MS が .Net Framework の次のバージョンにこのアセンブリを追加してくれることを願っています。
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" />
<bindingRedirect oldVersion="0.0.0.0-99.99.99.99" newVersion="4.0.1.0" />
<codeBase version="4.0.1.0" href="e:\exec\System.ValueTuple.dll" />
</dependentAssembly>
...
</assemblyBinding>
</runtime>
関連
-
[解決済み】「The breakpoint will not currently be hit」を改善するには?このドキュメントにはシンボルが読み込まれていません。" という警告はどうすれば改善されますか?
-
[解決済み】WPFでXamlファイルにコメントを追加する方法は?
-
[解決済み】ファイルやアセンブリ、またはその依存関係の1つをロードできませんでした。
-
[解決済み] 配置されたアセンブリのマニフェスト定義がアセンブリ参照と一致しない
-
[解決済み] ファイルまたはアセンブリ 'System.Data.SQLite' をロードできませんでした。
-
[解決済み] ファイルまたはアセンブリを読み込めませんでした ... 不正なフォーマットでプログラムをロードしようとしました (System.BadImageFormatException)
-
[解決済み】SQL Serverレプリケーションプロジェクトで、"An attempt was made to load a program with incorrect format" エラーが表示される
-
[解決済み】ファイルまたはアセンブリ "System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" を読み込めなかった。
-
[解決済み] アセンブリ 'netstandard, Version=2.0.0.0' への参照を追加する必要があります。
-
[解決済み] ファイルまたはアセンブリを読み込めませんでした ... パラメータが正しくありません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】プログラム実行中に1秒待つ
-
[解決済み】スクリプトクラスが見つからないので、スクリプトコンポーネントを追加できない?
-
[解決済み】ソケットのアドレス(プロトコル/ネットワークアドレス/ポート)は、通常1つしか使用できない?
-
[解決済み】プロジェクトビルド時のエラー。エディタでスクリプトにコンパイルエラーがあるため、Playerのビルドにエラーが発生する
-
[解決済み] UnityでOnCollisionEnterが呼ばれない
-
[解決済み】値をNULLにすることはできません。パラメータ名:source
-
[解決済み】WSACancelBlockingCallの例外について
-
[解決済み】Unityでゲームオブジェクトのすべての子をループスルーして破壊する方法?
-
[解決済み】プロセスが実行されているかどうかを知るには?
-
[解決済み】WebResource.axdとは何ですか?