Tôi đang nâng cấp một giải pháp hiện có từ .NET 4.6.2 lên .NET 4.7. Giải pháp này phụ thuộc vào một số gói nuget nhắm mục tiêu .NET 4.6.2 và do đó phụ thuộc vào gói nuget System.ValueTuple."Loại được xác định trước System.ValueTuple không được xác định hoặc được nhập" sau khi nâng cấp lên .NET 4.7
Nhưng sau khi nâng cấp, tôi nhận được một bó toàn bộ những xây dựng lỗi:
Error CS8179 Predefined type 'System.ValueTuple`2' is not defined or imported
tôi không thể loại bỏ các gói System.ValueTuple
, như đề xuất trong các ý kiến here, bởi vì các gói khác phụ thuộc vào nó. (Và nếu tôi ép buộc, chúng dường như sẽ nổ tung.)
Bất kỳ đề xuất nào?
Cập nhật 8/8/17
Tôi đã tìm ra rằng tôi có thể loại bỏ các gói System.ValueTuple
, và tôi có thể có được giải pháp để biên dịch như vậy. Tuy nhiên, tôi đã có một tá gói NuGet trong giải pháp xuất hiện để nhắm mục tiêu .NET 4.6.2, và do đó yêu cầu System.ValueTuple
làm phụ thuộc. Tôi có thể cài đặt chúng, và sau đó buộc loại bỏ gói System.ValueTuple
, nhưng nếu bất kỳ gói nào có bản cập nhật và tôi cài đặt bản cập nhật - thì gói System.ValueTuple
được cài đặt lại và hệ thống ngừng xây dựng cho đến khi tôi xóa gói lại .
Nói cách khác, tôi có thể làm cho tất cả hoạt động - nhưng có vẻ khó xử và kludgy. Chắc chắn có một cách tốt hơn để tiếp cận điều này?
Bạn đang sử dụng phiên bản gói nào? Tôi hy vọng điều này sẽ được sửa nếu bạn cập nhật lên phiên bản tiền phát hành (4.4) của gói ValueTuple. –
Vận chuyển VS2017 và C# v7 trước khi 4.7 được thực hiện là không có gì ngắn từ một sai lầm lớn lớn. Công cụ này chưa được thực hiện và nhắm mục tiêu 4.7 quá sớm. Bạn sẽ cho tôi một nhức đầu khá lớn, tôi không thể cài đặt 4.7 trên máy tính của mình và không thể chẩn đoán được. Đối phó với bản cập nhật của Microsoft là nhận được một pita khá lớn doggone gần đây. Đợi đấy. –
Xin lỗi vì trục trặc. Chúng tôi vừa đẩy gói System.ValueTuple (ổn định) được cập nhật hỗ trợ đầy đủ .NET Framework 4.7. Vui lòng thử một lần. –