Я б не радив додавати ValueTuple
як пакетну посилання на проекти .net Framework. Як відомо, ця збірка доступна з 4.7 .NET Framework.
Можуть бути певні ситуації, коли ваш проект спробує за будь-яку ціну включити ValueTuple
папку .NET Framework замість папки пакета, і це може спричинити деякі помилки в зборі, не знайдені.
У нас сьогодні ця проблема була в компанії. У нас було рішення з двома проектами (я спрощую це):
Lib
включав ValueTuple і Web
використовував Lib
. Виявилося, що з невідомих причин Web
при спробі шляху постановляємо ValueTuple
мав HintPath
в папку .NET Framework і приймає неправильну версію. З-за цього наша програма перестала працювати. ValueTuple
не було визначено .csproj
з Web
ні HintPath
для цієї збірки. Проблема була дуже дивна. Зазвичай він копіює збірку з папки пакунків. Цей час був не нормальним.
Для мене завжди є ризик додати System.*
посилання на пакет. Вони часто схожі на бомбу часу. Вони на початку добре, і вони можуть вибухнути вам в обличчя в найгірший момент. Моє правило: Не використовуйте System.*
пакет Nuget для .NET Framework, якщо в них немає реальної потреби.
Ми вирішили нашу проблему шляхом додавання вручну ValueTuple
в .csproj
файл всередині Web
проекту.