ValueTuple
.net Frameworkプロジェクトへのパッケージ参照をパッケージとして追加することはお勧めしません。ご存じのとおり、このアセンブリは4.7 .NET Frameworkから利用できます。
プロジェクトがValueTuple
、パッケージフォルダーではなく.NET Frameworkフォルダーからすべてのコストで含めようとする特定の状況があり、アセンブリが見つからないというエラーが発生する可能性があります。
今日会社でこの問題がありました。2つのプロジェクトで解決策がありました(私はそれを過度に単純化しています):
Lib
ValueTupleを含め、Web
を使用していましたLib
。これは、いくつかの未知の理由であることが判明したWeb
に解決パスしようとしたときにValueTuple
持っていたHintPath
.NET Frameworkディレクトリに、誤ったバージョンを取っていました。そのため、アプリケーションがクラッシュしていました。またはそのアセンブリでValueTuple
は定義されていません。問題は非常に奇妙でした。通常は、パッケージフォルダーからアセンブリをコピーします。今回は異常でした。.csproj
Web
HintPath
私にとって、System.*
パッケージ参照を追加することは常にリスクです。彼らはしばしば時限爆弾のようです。彼らは最初は元気で、最悪の瞬間にあなたの顔で爆発することができます。私の経験則:本当に必要がない場合はSystem.*
、.NET Frameworkに Nugetパッケージを使用しないでください。
私たちは、手動で追加することによって、私たちの問題を解決するValueTuple
に.csproj
、ファイル内部のWeb
プロジェクト。