โครงการ Visual Studio เทียบกับโซลูชัน


คำตอบ:


71

โซลูชันคือคอนเทนเนอร์สำหรับโปรเจ็กต์และติดตามการอ้างอิงระหว่างโปรเจ็กต์


129

ฉันพบข้อมูลบางอย่างที่ขาดหายไปในคำตอบอื่น ๆ (อย่างน้อยสำหรับผู้ที่มาจาก IDE อื่นเช่นพูดว่า Eclipse) กล่าวได้ว่าโซลูชันคือคอนเทนเนอร์สำหรับโครงการเป็นเพียงส่วนหนึ่งของสิ่งนั้น คุณลักษณะทางความคิดของโครงการ VS (สิ่งที่กำหนด 'ความละเอียด') คือโครงการหนึ่งสร้างผลลัพธ์หนึ่งรายการ : โดยทั่วไปจะเป็นปฏิบัติการหรือไลบรารี (dll) ดังนั้นหากคุณจะเขียนโค้ดสามไฟล์ปฏิบัติการที่ใช้โค้ดที่เกี่ยวข้องกันคุณจะต้องสร้างโซลูชันเดียวและอย่างน้อยสามโปรเจ็กต์ - อาจมากกว่านั้น


2
อย่าลืมโครงการ Shared Code ซึ่งสามารถรวมได้โดยไม่ต้องสร้างชุดประกอบด้วยตัวเอง
AyCe

43

แค่มาอุปมา ..

ทางออกก็เหมือนบ้านโครงการเหมือนห้อง แต่ละห้องมีฟังก์ชันการใช้งานส่วนหนึ่งในขณะที่บ้านซึ่งเป็นตู้คอนเทนเนอร์มีวิธีการเชื่อมโยงห้องต่างๆเข้าด้วยกันและจัดระเบียบให้เหมาะสม

ค่อนข้างซ้ำซาก แต่ฉันทำมันขึ้นมาได้ทันทีอดทนกับฉัน :)


26

ไม่ช่วยให้ Visual Studio ดูเหมือนจะทำให้สิ่งต่างๆสับสนมากขึ้น "โครงการใหม่" สร้างโซลูชันใหม่ที่มีโครงการ "Open Project" จะเปิดโซลูชันที่มีโครงการหนึ่ง (หรือหลายโครงการ) (เมนูไฟล์ขึ้นว่า "Open Project / Solution" แต่เป็นการเปิด Solutions จริงๆไม่มี "Close Project" มี แต่ "Close Solution" เท่านั้นที่ถูกต้อง

ดังนั้นใน VS คุณมักจะใช้วิธีแก้ปัญหา โซลูชันจำนวนมากมีเพียงโครงการเดียวและนักพัฒนารุ่นใหม่มักคิดว่าเป็นสิ่งเดียวกัน อย่างไรก็ตามคุณสามารถเพิ่มโครงการอื่น ๆ ลงในโซลูชันได้


อะไรคือประเด็นของการมีหลายโครงการในโซลูชันเดียว ฉันไม่เข้าใจเรื่องนี้ ..
ลีกา

13

ในกรณีที่มีใครตัดสินใจเลื่อนลงมาไกลกว่านี้ ... ฉันคิดว่าเอกสาร MSทำได้ดีในการอธิบายความแตกต่าง ฉันคัดลอกวาง (และเปลี่ยนวลี) บิตที่เกี่ยวข้องที่นี่:

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

คุณไม่จำเป็นต้องใช้โซลูชันหรือโครงการหากคุณไม่ต้องการ คุณสามารถเปิดไฟล์ใน Visual Studio และเริ่มแก้ไขโค้ดของคุณได้

ในความหมายที่แท้จริงของโครงการคือไฟล์ XML ( .vbproj, .csproj, .vcxproj) ที่กำหนดลำดับชั้นโฟลเดอร์เสมือนพร้อมกับเส้นทางไปยังรายการทั้งหมดมัน "มี" และการตั้งค่าการสร้าง

ใน Visual Studio Solution Explorer จะใช้ไฟล์โครงการเพื่อแสดงเนื้อหาโครงการและการตั้งค่า เมื่อคุณคอมไพล์โปรเจ็กต์ของคุณเอ็นจิ้น MSBuild จะใช้ไฟล์โปรเจ็กต์เพื่อสร้างไฟล์ปฏิบัติการ คุณยังสามารถปรับแต่งโปรเจ็กต์ให้เป็นผลิตภัณฑ์ประเภทอื่น ๆ ได้

โปรเจ็กต์มีอยู่ในแง่ตรรกะและในระบบไฟล์ภายในโซลูชันซึ่งอาจมีโปรเจ็กต์อย่างน้อยหนึ่งโปรเจ็กต์พร้อมกับข้อมูลบิลด์การตั้งค่าหน้าต่าง Visual Studio และไฟล์เบ็ดเตล็ดใด ๆ ที่ไม่เกี่ยวข้องกับโปรเจ็กต์ใด ๆ ตามตัวอักษรโซลูชันคือไฟล์ข้อความที่มีรูปแบบเฉพาะของตัวเอง โดยทั่วไปไม่ได้ตั้งใจให้แก้ไขด้วยมือ

โซลูชันมี.suoไฟล์ที่เกี่ยวข้องซึ่งเก็บการตั้งค่าการกำหนดลักษณะและข้อมูลการกำหนดค่าสำหรับผู้ใช้แต่ละคนที่ทำงานในโครงการ


7

โซลูชันสามารถมีได้หลายโครงการ

โซลูชันยังสามารถจัดการการอ้างอิงระหว่างโปรเจ็กต์ต่างๆ ... ตรวจสอบให้แน่ใจว่าแต่ละโปรเจ็กต์ได้รับการสร้างตามลำดับที่เหมาะสมเพื่อให้โซลูชันสุดท้ายทำงานได้


3

โครงการมีไฟล์ปฏิบัติการและไฟล์ไลบรารีที่ประกอบเป็นแอปพลิเคชันหรือส่วนประกอบของแอปพลิเคชัน

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


2

โซลูชันคือคอนเทนเนอร์สำหรับโปรเจ็กต์ - คุณยังสามารถใช้เพื่อจัดระเบียบไอเท็มที่ใช้กับโปรเจ็กต์อื่น ๆ ที่เกี่ยวข้อง (แชร์ dll และอื่น ๆ )


2

วิธีการแก้ปัญหาเป็นไฟล์ข้อความที่อ่านได้มีส่วนขยายเป็น.slnและมีเนื้อหาที่มีโครงสร้างที่อธิบายถึงโครงการว่ามันมี โครงการเป็นอ่านXMLไฟล์รูปแบบข้อความที่มีส่วนขยายเป็น.vcxprojและมีเนื้อหาโครงสร้างตามเค้าร่าง XML ของตนและมีจุดประสงค์หลักคือการมีรายชื่อของแหล่งที่มาของรหัสชื่อไฟล์และการอ้างอิงหรือการอ้างอิงของพวกเขาให้กับโครงการอื่น ๆ ของรหัสแหล่งที่มาเช่นกัน


0

โซลูชันคือคอนเทนเนอร์ที่ Visual Studio ใช้เพื่อจัดระเบียบโครงการที่เกี่ยวข้องอย่างน้อยหนึ่งโครงการ เมื่อคุณเปิดโซลูชันใน Visual Studio ระบบจะโหลดโครงการทั้งหมดที่มีอยู่โดยอัตโนมัติ

เมื่อคุณสร้างโปรเจ็กต์ใหม่ใน Visual Studio โปรเจ็กต์นั้นจะสร้างโซลูชันเพื่อจัดวางโปรเจ็กต์โดยอัตโนมัติหากยังไม่มีโซลูชันที่เปิดอยู่

คุณสามารถตั้งค่าการอ้างอิงของโปรเจ็กต์กับโปรเจ็กต์อื่น ๆ ในโซลูชัน โครงการที่ขึ้นอยู่กับการสร้างหลังจากโครงการนั้นขึ้นอยู่กับการสร้าง

สำหรับรายละเอียดเพิ่มเติมโปรดดู - https://docs.microsoft.com/en-us/visualstudio/ide/quickstart-projects-solutions

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

เช่น. สมมติว่าคุณกำลังสร้างและแอพ android และ iOS ใน xamrin จะมีโค้ดและแหล่งข้อมูลทั่วไปที่สามารถไปในโปรเจ็กต์แยกต่างหากจากนั้นโปรเจ็กต์ Android และ iOS ของคุณจะขึ้นอยู่กับโปรเจ็กต์โค้ดทั่วไปนี้ นอกจากนี้คุณสามารถมีโครงการเพื่อทดสอบโครงการเหล่านี้เป็นต้น

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