Tôi không khuyên bạn nên thêm ValueTuple
dướ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á ValueTuple
từ 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 đó Web
khi cố gắng con đường quyết tâm ValueTuple
đã có HintPath
và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 đó. ValueTuple
không được quy định tại .csproj
các Web
cũ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 ValueTuple
vào .csproj
tệp bên trong Web
dự án.