15
คำแนะนำที่ชัดเจนเกี่ยวกับการเปลี่ยนแปลงการใช้ API ใน. NET
ฉันต้องการรวบรวมข้อมูลให้มากที่สุดเท่าที่จะเป็นไปได้เกี่ยวกับการกำหนดเวอร์ชัน API ใน. NET / CLR และโดยเฉพาะการเปลี่ยนแปลง API ที่ทำหรือไม่ทำลายแอปพลิเคชันไคลเอนต์ ก่อนอื่นมานิยามคำศัพท์กัน: การเปลี่ยนแปลง API - การเปลี่ยนแปลงคำจำกัดความที่มองเห็นแบบสาธารณะรวมถึงสมาชิกสาธารณะใด ๆ ซึ่งรวมถึงการเปลี่ยนประเภทและชื่อสมาชิกการเปลี่ยนประเภทพื้นฐานการเพิ่ม / การลบอินเตอร์เฟสจากรายการอินเตอร์เฟสที่ใช้งานการเพิ่ม / ลบสมาชิก (รวมถึงการโอเวอร์โหลด) การเปลี่ยนการมองเห็นสมาชิกวิธีการเปลี่ยนชื่อและพารามิเตอร์ชนิดการเพิ่มค่าเริ่มต้น สำหรับพารามิเตอร์เมธอดการเพิ่ม / ลบแอ็ตทริบิวต์กับชนิดและสมาชิกและการเพิ่ม / ลบพารามิเตอร์ประเภททั่วไปบนประเภทและสมาชิก (ฉันพลาดอะไรเลยหรือ?) สิ่งนี้ไม่รวมถึงการเปลี่ยนแปลงใด ๆ ในเนื้อความของสมาชิกหรือการเปลี่ยนแปลงใด ๆ กับสมาชิกส่วนตัว (เช่นเราไม่คำนึงถึงการสะท้อนกลับ) ตัวแบ่งระดับไบนารี - การเปลี่ยนแปลง API ที่ส่งผลให้แอสเซมบลีไคลเอนต์ที่คอมไพล์เทียบกับเวอร์ชันเก่ากว่าของ API อาจไม่โหลดด้วยเวอร์ชันใหม่ ตัวอย่าง: การเปลี่ยนลายเซ็นเมธอดแม้ว่าจะอนุญาตให้เรียกในลักษณะเดียวกับก่อนหน้า (เช่น: void เพื่อส่งคืนค่าเริ่มต้นของประเภท / พารามิเตอร์เกินพิกัด) ตัวแบ่งระดับซอร์ส - …