Saya tidak akan menyarankan menambahkan ValueTuplesebagai referensi paket untuk proyek .net Framework. Seperti yang Anda ketahui, rakitan ini tersedia dari 4.7 .NET Framework.
Mungkin ada situasi tertentu ketika proyek Anda akan mencoba untuk memasukkan di semua biaya ValueTupledari folder .NET Framework bukan folder paket dan itu dapat menyebabkan beberapa perakitan tidak menemukan kesalahan.
Kami memiliki masalah ini hari ini di perusahaan. Kami memiliki solusi dengan 2 proyek (saya terlalu menyederhanakan itu):
Libtelah termasuk ValueTuple dan Websedang menggunakan Lib. Ternyata dengan beberapa alasan yang tidak diketahui Webketika mencoba untuk menyelesaikan path ke ValueTuplememiliki HintPathke .NET Framework direktori dan mengambil versi yang salah. Aplikasi kami macet karena itu. ValueTupletidak didefinisikan dalam .csprojdari Webatau HintPathuntuk perakitan itu. Masalahnya sangat aneh. Biasanya itu akan menyalin rakitan dari folder paket. Kali ini tidak normal.
Bagi saya selalu berisiko untuk menambahkan System.*referensi paket. Mereka sering seperti bom waktu. Mereka baik-baik saja di awal dan mereka dapat meledak di wajah Anda di saat terburuk. Aturan praktis saya: Jangan gunakan System.*paket Nuget untuk .NET Framework jika tidak ada kebutuhan nyata bagi mereka.
Kami menyelesaikan masalah kami dengan menambahkan secara manual ValueTupleke .csprojdalam file di dalam Webproyek.