โครงการที่อ้างอิงได้รับ“ สูญหาย” ในเวลาคอมไพล์


102

ฉันมีโซลูชัน C # กับสองโครงการ: บริการ (โครงการหลัก) และคนตัดไม้ บริการใช้คลาสจากคนตัดไม้ ฉันได้เพิ่มการอ้างอิงไปยังโปรเจ็กต์คนตัดไม้ภายในโปรเจ็กต์บริการ ในขณะออกแบบการเติมข้อความอัตโนมัติทำงานได้ดี: ชั้นเรียนของคนตัดไม้สามารถมองเห็นได้การอ้างอิงที่ฉันใช้จะมีสีที่เหมาะสม

ฉันสร้างโซลูชันขึ้นมาใหม่และเกิดข้อผิดพลาด ระบบไม่รู้จักการอ้างอิงอีกต่อไป: "ชื่อ" การบันทึก "ไม่มีอยู่ในบริบทปัจจุบัน" และชั้นเรียนไม่มีอยู่ในการเติมข้อความอัตโนมัติอีกต่อไปการลบและใส่ข้อมูลอ้างอิงใหม่ทำให้ฉันกลับสู่สถานะพื้นฐานของการมีตัวระบุที่มองเห็นได้ในการเติมข้อความอัตโนมัติ

ฉันได้รีบูตล้างแคชทั้งหมดตรวจสอบให้แน่ใจว่านี่เป็นอินสแตนซ์เดียวของ VS 2010 ที่ทำงานบนเครื่องของฉัน

มีบางอย่างที่ชัดเจน (ชัดเจน) ที่ฉันขาดหายไป

คำตอบ:


158

ตรวจสอบการสร้างประเภทของของแต่ละโครงการภายใต้คุณสมบัติของโครงการ - ฉันเดิมพันหนึ่งหรืออื่น ๆ .NET XX - Client Profileจะได้รับการตั้งค่าให้กับการสร้าง

ด้วยเวอร์ชันที่ไม่สอดคล้องกันโดยเฉพาะอย่างยิ่งกับสิ่งมีชีวิตหนึ่งClient Profileและอีกสิ่งหนึ่งจะไม่ทำงานในเวลาออกแบบ แต่ล้มเหลวในเวลารวบรวม gotcha ที่แท้จริง

มีบางอย่างที่น่าตลกเกิดขึ้นใน Visual Studio 2010 สำหรับฉันซึ่งทำให้การตั้งค่าโครงการดูเหมือนสุ่มไปเรื่อย ๆClient Profileบางครั้งเมื่อฉันสร้างโครงการและบางครั้งก็ไม่กี่วันต่อมา อาจเป็นแป้นพิมพ์ลัดที่ฉันเผลอกด ...


1
ฉันจะพนันได้เลยว่าคุณพูดถูก ... และทำให้ฉันอับอายหากจำคำถามเทียบเคียงนี้ที่ฉันถามเมื่อเดือนที่แล้วไม่ได้! stackoverflow.com/questions/3991361/…
Bob Kaufman

6
@ บ็อบมันยังคงเกิดขึ้นกับฉันและเหมือนกับที่คุณมีคำถามก่อนหน้านั้นทุกครั้งที่มันเกิดขึ้นอย่างน้อยสองสามนาทีฉันก็สับสนกับเรื่องทั้งหมดจนจำได้ว่า "Oooooh เดี๋ยวก่อนลูกค้า ** ** ing Profile "
joshcomley

4
ฉันก็มีปัญหากับ VS2012 เช่นกัน ปรากฎว่าไม่ใช่ปัญหาของ Client Profile แต่โครงการที่อ้างอิงอยู่ใน 4.5 และโครงการใหม่ที่อ้างถึงมีค่าเริ่มต้นเป็น 4.0 กระแทกหนึ่งถึง 4.5 และปัญหาก็หายไป วิธีแก้ปัญหาเดียวกันจริงๆเพียงรูปแบบอื่น
Brad Mathews

สิ่งนี้เกิดขึ้นกับฉันเมื่อไม่นานมานี้ใน VS 2013 โปรเจ็กต์นี้เป็นค่าเริ่มต้น 4.5 แต่หนึ่งในไลบรารีสร้างขึ้นบน 4.5.2 ถ้าโปรเจ็กต์คือ 4.5.2 และไลบรารี่ตัวใดตัวหนึ่งเป็น 4.5 หรือ 4.5.1 มันจะทำงานได้ แต่ไม่ใช่วิธีอื่น ๆ
ahwm

4

ตรวจสอบให้แน่ใจว่าทั้งสองโครงการมีเวอร์ชันกรอบเป้าหมายเดียวกันที่นี่: คลิกขวาที่โครงการ -> คุณสมบัติ -> แอปพลิเคชัน (แท็บ) -> กรอบเป้าหมาย

นอกจากนี้ตรวจสอบให้แน่ใจว่าโปรเจ็กต์ "logger" (ซึ่งคุณต้องการรวมไว้ในโปรเจ็กต์หลัก) มีเอาต์พุตประเภท "Class Library" ใน: คลิกขวาที่ project -> properties -> application (tab) -> ประเภทเอาต์พุต

ในที่สุดสร้างโซลูชันใหม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.