Tôi không khuyên bạn nên thêm ValueTupledưới dạng tham chiếu gói cho các dự án .net Framework. Như bạn đã biết lắp ráp này có sẵn từ 4.7 .NET Framework.
Có thể có một số tình huống khi dự án của bạn sẽ cố gắng bao gồm bằng mọi giá ValueTupletừ thư mục .NET Framework thay vì thư mục gói và nó có thể gây ra một số lỗi không tìm thấy lắp ráp.
Chúng tôi đã có vấn đề này ngày hôm nay trong công ty. Chúng tôi đã có giải pháp với 2 dự án (tôi đơn giản hóa điều đó):
Libđã bao gồm ValueTuple và Webđang sử dụng Lib. Hóa ra là do một số lý do nào đó Webkhi cố gắng con đường quyết tâm ValueTupleđã có HintPathvào thư mục .NET Framework và được tham gia phiên bản không chính xác. Ứng dụng của chúng tôi đã bị sập vì điều đó. ValueTuplekhông được quy định tại .csprojcác Webcũng không HintPathđể lắp ráp đó. Vấn đề rất kỳ lạ. Thông thường nó sẽ sao chép lắp ráp từ thư mục gói. Lần này không bình thường.
Đối với tôi luôn có rủi ro khi thêm các System.*tài liệu tham khảo gói. Chúng thường giống như quả bom hẹn giờ. Họ ổn khi bắt đầu và họ có thể nổ tung vào mặt bạn trong thời điểm tồi tệ nhất. Nguyên tắc nhỏ của tôi: Không sử dụng System.*gói Nuget cho .NET Framework nếu không có nhu cầu thực sự cho chúng.
Chúng tôi đã giải quyết vấn đề của mình bằng cách thêm thủ công ValueTuplevào .csprojtệp bên trong Webdự án.