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


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.