Eu não recomendaria adicionar ValueTuplecomo referência de pacote aos projetos do .NET Framework. Como você sabe, esse assembly está disponível no 4.7 .NET Framework.
Pode haver certas situações em que seu projeto tentará incluir a todo custo ValueTupleda pasta do .NET Framework em vez da pasta do pacote e isso pode causar alguns erros de montagem não encontrados.
Hoje tivemos esse problema na empresa. Tivemos solução com 2 projetos (eu simplifiquei demais):
Libestava incluindo ValueTuple e Webestava usando Lib. Aconteceu que, por algum motivo desconhecido, Webao tentar resolver o caminho, ValueTupleestava HintPathno diretório do .NET Framework e estava usando a versão incorreta. Nosso aplicativo estava travando por causa disso. ValueTuplenão foi definido no .csprojda Webnem HintPathpara que a montagem. O problema era muito estranho. Normalmente, ele copiava o assembly da pasta package. Desta vez não era normal.
Para mim, é sempre um risco adicionar System.*referências de pacotes. Eles são frequentemente como bomba-relógio. Eles estão bem no começo e podem explodir na sua cara no pior momento. Minha regra geral: não use o System.*pacote Nuget para .NET Framework se não houver necessidade real deles.
Resolvemos nosso problema adicionando manualmente ValueTupleno .csprojarquivo dentro Webdo projeto.