.dll หายไปหลังจากสร้างใหม่/สร้างใหม่ทั้งหมด

ฉันมี 3 โปรเจ็กต์ในโซลูชันของฉันและ DLL ของบุคคลที่สามหรือของบริษัทอีกจำนวนหนึ่ง แต่ละครั้งที่ฉันสร้างโปรเจ็กต์หรือโซลูชันใหม่ทั้งหมด dll จำนวนมากนี้จะถูกลบออก ดังนั้นจึงหายไป มันค่อนข้างน่ารำคาญที่จะอ้างอิงไฟล์ dll นี้ซ้ำแล้วซ้ำอีกหลังจากสร้างใหม่ ใครสามารถอธิบายวิธีหลีกเลี่ยงสิ่งนี้ได้บ้าง ขอบคุณล่วงหน้า.


person Shukhrat Raimov    schedule 24.09.2014    source แหล่งที่มา
comment
คุณได้อ้างอิงพวกมันในโครงการของคุณแล้ว แต่พวกมันยังขาดหายไปใช่หรือไม่ หรือคุณเพิ่งคัดลอกไฟล์ dlls ไปยังไดเร็กทอรีเอาต์พุต?   -  person Habib    schedule 24.09.2014
comment
นอกจากนี้ในเมนูคุณสมบัติ (ในตัวออกแบบ) สำหรับการอ้างอิงพวกเขามีสำเนาในเครื่องหรือไม่ (นั่นอาจเป็นสาเหตุที่ทำให้พวกเขาไม่อยู่ในโฟลเดอร์หากไม่ได้ตั้งค่าไว้)   -  person Thomas    schedule 24.09.2014
comment
@Habib ฉันสร้างโฟลเดอร์ bin ในโฟลเดอร์รูทและคัดลอก dll ทั้งหมดที่นั่น จากนั้นอ้างอิงพวกมันจากโฟลเดอร์นี้โดยการอ้างอิง - เพิ่มการอ้างอิง   -  person Shukhrat Raimov    schedule 24.09.2014
comment
@ShukhratRaimov ควรมีโฟลเดอร์ bin ในโฟลเดอร์รูทของโปรเจ็กต์ของคุณอยู่แล้ว   -  person Habib    schedule 24.09.2014
comment
@Habib โอ้ขอโทษที่มันเคยมีมาก่อน แต่มันไม่มีไฟล์ dll ของฉัน แต่ละโครงการของฉันมีโฟลเดอร์ bin แต่ฉันเพิ่มการอ้างอิง dll จาก root bin ของฉัน ฉันค่อนข้างสับสนว่าทำไมจึงมีโฟลเดอร์ bin มากมายและวิธีการสร้างการอ้างอิงนี้และเหตุใดจึงถูกกำจัดหลังจากสร้างใหม่แต่ละครั้ง   -  person Shukhrat Raimov    schedule 24.09.2014
comment
@Habib โฟลเดอร์ bin บางโฟลเดอร์มีการดีบั๊ก / ปล่อยในขณะที่โฟลเดอร์อื่นมีไฟล์ dll   -  person Shukhrat Raimov    schedule 24.09.2014
comment
โซลูชันที่สะอาดจะลบไบนารีทั้งหมดในโฟลเดอร์ถังขยะ คุณต้องอ้างอิงจากตำแหน่งจริง ทุกบิลด์จะคัดลอกจากไปยัง bin อย่างสม่ำเสมอหากนั่นคือโฟลเดอร์เป้าหมายไบนารี   -  person Mrinal Kamboj    schedule 24.09.2014


คำตอบ (2)


โฟลเดอร์ bin เป็นเพียงเอาต์พุตไบนารี่จากบิลด์ ดังนั้นเมื่อคุณล้างโซลูชันของคุณ แอสเซมบลีทั้งหมดในโฟลเดอร์ bin จะถูกลบ คุณควรอ้างอิงชุดประกอบจากตำแหน่งอื่น ข้อเสนอแนะประการหนึ่งคือสร้างโฟลเดอร์ Shared Resources ภายในโปรเจ็กต์ของคุณ คัดลอกแอสเซมบลีของคุณไปยังโฟลเดอร์นั้น จากนั้นอ้างอิงจากโฟลเดอร์นั้น วิธีนี้พวกเขาจะไม่ถูกลบออกจาก bin ในการล้าง/สร้างใหม่ และ Visual Studio จะคัดลอกไว้ที่นั่นตามความจำเป็น

  1. คลิกขวาที่โฟลเดอร์ References ในโครงการของคุณแล้วเลือก Add Reference...
  2. ใช้ฟังก์ชันการเรียกดูเพื่อค้นหาแอสเซมบลีที่คุณต้องการอ้างอิง (ไม่ต้องกังวลกับการคัดลอกไปยัง/จากโฟลเดอร์ bin ด้วยตนเอง)
  3. หลังจากเพิ่มข้อมูลอ้างอิงแล้ว ให้คลิกขวาที่ข้อมูลอ้างอิงในรายการข้อมูลอ้างอิงของคุณแล้วเลือก Properties
  4. ตรวจสอบให้แน่ใจว่าคุณสมบัติ Copy Local ถูกตั้งค่าเป็น True

สิ่งนี้จะช่วยให้มั่นใจได้ว่าแอสเซมบลีจะถูกคัดลอกไปยังโฟลเดอร์ bin ของคุณในทุกบิลด์

person Troy Carlson    schedule 24.09.2014
comment
ขอบคุณสำหรับคำตอบ. ดังนั้นจริงๆ แล้วเมื่อฉันทำความสะอาด/สร้างโปรเจ็กต์ย่อยใหม่ โฟลเดอร์ bin ภายในโปรเจ็กต์ย่อยนี้ก็จะว่างเปล่า หากฉันสร้างโซลูชันทั้งหมดใหม่ โฟลเดอร์ bin ในรูทจะถูกลบหรือทุกโฟลเดอร์ bin ภายในโปรเจ็กต์ย่อยจะถูกทำให้ว่างเปล่าหรือไม่ - person Shukhrat Raimov; 24.09.2014
comment
เมื่อคุณล้างโปรเจ็กต์ โฟลเดอร์ bin จะถูกล้างข้อมูลสำหรับโปรเจ็กต์นั้น ไม่มีโฟลเดอร์ bin ในระดับโซลูชัน ดังนั้นเมื่อคุณล้างโซลูชัน โฟลเดอร์ bin จะว่างเปล่าสำหรับโครงการทั้งหมดภายในโซลูชันนั้น ฉันคิดว่า Visual Studio มีกฎพิเศษบางประการที่ไฟล์/โฟลเดอร์จะถูกลบเมื่อทำการล้างข้อมูล ดังนั้นอาจมีไฟล์เหลืออยู่ในภายหลัง แต่สิ่งสำคัญคือโฟลเดอร์ bin เป็นผลลัพธ์ของบิลด์และคุณไม่ต้องการคัดลอก/อ้างอิงแอสเซมบลีของคุณด้วยตนเองจากที่นั่น... - person Troy Carlson; 24.09.2014

ในกรณีของฉัน เวอร์ชันเฟรมเวิร์ก .net คือปัญหา ฉันต้องลดเวอร์ชันลงเป็น 4.5 จากนั้นโปรเจ็กต์ก็ถูกสร้างขึ้นอย่างถูกต้องและสามารถอ้างอิงในโปรเจ็กต์อื่นได้

person Jyothi.T    schedule 22.04.2021