ฉันมีวิธีแก้ปัญหาสองวิธีในพื้นที่ทำงานของฉันพูดว่า A และ B
โซลูชัน A เป็นโปรเจ็กต์เก่าที่ฉันเขียนโค้ดเสร็จเมื่อไม่นานมานี้ ในโซลูชัน B ฉันต้องใช้บางคลาสจากโซลูชัน A ในการทำเช่นนั้นฉันเพิ่มการอ้างอิงไปยัง dll ของโครงการใดโครงการหนึ่งในโซลูชัน A
ปัญหาคือเมื่อฉันพยายามแก้ไขข้อบกพร่อง ฉันต้องการที่จะก้าวเข้าสู่รหัสของ A เช่นกัน Visual Studio ไม่สามารถโหลดโค้ดสำหรับคลาสเหล่านี้ได้ ("ไม่มีซอร์สโค้ดสำหรับตำแหน่งปัจจุบัน") และฉันสามารถดูได้เฉพาะการแยกชิ้นส่วนซึ่งไม่มีประโยชน์
วิธีเดียวที่ฉันรู้ในการดีบักคลาสจากโซลูชัน A คือการเรียกใช้โซลูชัน B แยกกระบวนการทั้งหมด (ในรายการเมนูดีบัก) และแนบกระบวนการจากโซลูชัน A
อย่างไรก็ตามสิ่งนี้ไม่สะดวกมากและฉันสามารถแก้จุดบกพร่อง A หรือ B ได้ในครั้งเดียวเท่านั้น
มีวิธีอนุญาตให้เข้าสู่รหัสของ dlls ที่อ้างอิง (ซึ่งฉันมีรหัสต้นฉบับ) หรือไม่
วิธีแก้ไข:ข้อผิดพลาดของฉันคือฉันคิดว่าโครงการสามารถเป็นส่วนหนึ่งของโซลูชันเดียวเท่านั้น ในความเป็นจริงโครงการสามารถเป็นส่วนหนึ่งของโซลูชันจำนวนเท่าใดก็ได้
เมื่อคุณต้องการอ้างอิงโครงการเก่าคุณควรเพิ่มโปรเจ็กต์ลงในโซลูชัน ทำได้โดยคลิกขวาที่โซลูชันใหม่ในโซลูชัน Explorer> เพิ่ม> โครงการที่มีอยู่
จากนั้นคุณจะสามารถเพิ่มการอ้างอิงโครงการ ตามที่คนอื่นเขียนไว้คุณควรหลีกเลี่ยงการใช้การอ้างอิง dll กับรหัสของคุณเองโดยสิ้นเชิง (หรือรหัสอื่น ๆ ที่คุณอาจต้องเปลี่ยนและแก้ไขข้อบกพร่อง)
การอ้างอิงที่ดีมากกับวิธีการแก้ปัญหาที่ควรได้รับการออกแบบสามารถพบได้ในMSDN