ฉันได้ดาวน์โหลดการสาธิต Asp.net จำนวนมากโดยใช้ VS2003 (และ VS2002) ฉันใช้ VS2005 เมื่อฉันใช้การสาธิตเหล่านี้ โดยพื้นฐานแล้วโปรเจ็กต์ Asp.net ส่วนใหญ่ที่ใช้ VS2003 ไม่สามารถโหลดได้เนื่องจากไม่สามารถแปลงไฟล์บางไฟล์ได้ ฉันรู้สึกหดหู่ใจมาเป็นเวลานาน และในที่สุดฉันก็พบมัน
ความแตกต่างที่ใหญ่ที่สุดระหว่างโปรเจ็กต์ที่ใช้ VS2005 ของ Asp.net และเวอร์ชันก่อนหน้าของโปรเจ็กต์คือมีการใช้คลาสบางส่วน (บางส่วน) แทนการซ่อนโค้ด (Codebehind)
ดังนั้นวิธีที่ผมทำคือ
1. เปิดโครงการโดยเปิดเว็บไซต์ ด้วยวิธีนี้ VS2005 จะทำการแปลงและรายงานข้อผิดพลาดด้วย แต่คราวนี้จะขยายไฟล์ทั้งหมดของเว็บไซต์ ซึ่งต่างจากโซลูชันโดยตรงที่ไม่สามารถโหลดได้ หากคุณรันโปรเจ็กต์ตอนนี้ มันจะไม่สำเร็จ
2. เปิดไฟล์ filename.aspx ไปที่มุมมองซอร์สโค้ด และเปลี่ยนแอตทริบิวต์ "Codebehind" ในคำสั่ง @Page เป็น "CodeFile"
3. ไฟล์ Codebehind ที่เกี่ยวข้อง filename.aspx.cs จะได้รับการสืบทอดจาก System.Web คำจำกัดความคลาสของ UI.Page นำหน้าด้วยคีย์เวิร์ดบางส่วน
4. รันโปรเจ็กต์ ระบบจะแจ้งให้คุณทราบว่าคำจำกัดความของ controlname รวมอยู่ใน filename.aspx แล้ว ติดตามข้อผิดพลาดไปยัง filename.aspx.cs และลบคำจำกัดความที่ซ้ำกันซึ่งบ่งชี้ถึงข้อผิดพลาด
5. จากนั้นทำซ้ำขั้นตอนที่ 2-4 จนกระทั่งไฟล์ทั้งหมดมีการเปลี่ยนแปลง จากนั้นรันโปรเจ็กต์และควรจะรันได้สำเร็จ อย่างไรก็ตาม อาจมีคำเตือนบางประการที่บอกว่าสิ่งนั้นล้าสมัย ดังนั้นอย่ากังวลกับมัน
ฉันใช้วิธีนี้เพื่อแปลงสิ่งที่ดื้อรั้นเก่า ๆ ทั้งหมดได้สำเร็จ (รวมถึงโครงการตั้งแต่ปี 2546 และ 2545) และมันได้ผลทุกครั้ง นี่เป็นเพียงวิธีการที่ฉันสรุปเองอาจมีคนมีวิธีที่ดีกว่านี้ช่วยแนะนำฉันหน่อย
http://www.cnblogs.com/nihgwu/archive/2006/08/11/474604.html