ฉันจะไม่แนะนำให้เพิ่ม ValueTuple
เป็นการอ้างอิงแพ็คเกจกับโครงการ. net Framework ตามที่คุณทราบแอสเซมบลีนี้พร้อมใช้งานจาก 4.7 .NET Framework
อาจมีบางสถานการณ์เมื่อโครงการของคุณพยายามที่จะรวมค่าใช้จ่ายทั้งหมด ValueTuple
จากโฟลเดอร์. NET Framework แทนที่จะเป็นโฟลเดอร์แพคเกจและอาจทำให้แอสเซมบลีบางอย่างไม่พบข้อผิดพลาด
เรามีปัญหานี้ใน บริษัท วันนี้ เรามีวิธีแก้ปัญหาด้วย 2 โครงการ (ฉันเน้นเรื่องนั้นมาก):
Lib
รวมถึง ValueTuple และWeb
กำลังใช้งานLib
อยู่ มันกลับกลายเป็นว่าโดยไม่ทราบด้วยเหตุผลบางอย่างWeb
เมื่อพยายามที่จะแก้ปัญหาเส้นทางที่จะValueTuple
ได้มีHintPath
ลงในไดเรกทอรี .NET Framework และได้รับการรุ่นไม่ถูกต้อง แอปพลิเคชันของเราหยุดทำงานเนื่องจากสาเหตุดังกล่าว ValueTuple
ไม่ได้กำหนดไว้ใน.csproj
การWeb
มิได้HintPath
สำหรับการชุมนุมว่า ปัญหานั้นแปลกมาก โดยปกติจะคัดลอกแอสเซมบลีจากโฟลเดอร์แพคเกจ เวลานี้ไม่ปกติ
สำหรับฉันมันเป็นความเสี่ยงเสมอที่จะเพิ่มSystem.*
การอ้างอิงแพ็คเกจ พวกเขามักจะชอบระเบิดเวลา พวกมันเริ่มต้นได้ดีและพวกมันสามารถระเบิดในหน้าของคุณในช่วงเวลาที่เลวร้ายที่สุด กฎง่ายๆของฉัน: อย่าใช้System.*
แพคเกจ Nuget สำหรับ. NET Frameworkหากไม่จำเป็นต้องใช้พวกเขาจริงๆ
เราแก้ไขปัญหาของเราโดยการเพิ่มValueTuple
ลงใน.csproj
ไฟล์ภายในWeb
โครงการด้วยตนเอง