ในการสร้างโปรเจ็กต์. NET ตั้งแต่เริ่มต้นทำได้ง่ายเพียงแค่ใช้ วิซาร์ด Visual Studio . และก File => New Project
, หรือ Add New Project
สำหรับโซลูชันที่มีอยู่ เมื่อสร้างโปรเจ็กต์ใหม่แล้วคุณสามารถเริ่มเขียนโค้ดได้ทันที อย่างไรก็ตามการตั้งค่าโครงการเริ่มต้นที่สร้างโดย พ่อมด พวกเขาได้รับการยอมรับจากทีมงานมืออาชีพเพียงเล็กน้อยเนื่องจากพวกเขาลดคุณภาพทั่วไปลง นอกจากนี้ไม่มีอื่น ๆ พ่อมด อาจทราบเกี่ยวกับขั้นตอนการกำหนดค่าอื่น ๆ ที่คุณต้องดำเนินการในสภาพแวดล้อมการพัฒนาเฉพาะ
ในบทความนี้ฉันจะแนะนำคุณเกี่ยวกับการตั้งค่าที่สำคัญหลายอย่างที่คุณควรเปิดใช้เมื่อสร้างโครงการใหม่ซึ่งเป็นสิ่งสำคัญในการลดหนี้ทางเทคนิคในอนาคต นอกจากนี้เราจะทบทวนแนวทางปฏิบัติทั่วไปบางประการ นักพัฒนา. NET ใช้เมื่อจัดโครงสร้างโซลูชันและโครงการใหม่ แม้ว่าคุณจะไม่ได้นำแนวคิดเหล่านี้ไปใช้ แต่ก็เป็นเรื่องดีที่จะเรียนรู้และดูสรุปสิ่งที่ทีมเหล่านี้ส่วนใหญ่ทำ
การมีโครงสร้างที่กำหนดไว้อย่างดีมีความสำคัญสำหรับโครงการที่ซับซ้อน สิ่งนี้ช่วยปรับปรุงประสบการณ์การเข้าสู่ระบบสำหรับสมาชิกใหม่ที่เข้าร่วมทีมและยังทำให้ชีวิตของคุณง่ายขึ้นเมื่อสนับสนุนโครงการเก่า โครงสร้างที่ดีมีสองตัวบ่งชี้หลัก:
โฟลเดอร์โซลูชัน บางครั้งเรียกว่า โฟลเดอร์เสมือน เป็นเครื่องมือที่มีประโยชน์มากในการจัดกลุ่มโครงการของคุณ ในมุมมอง โซลูชัน Explorer คุณเพียงคลิกขวาและเลือก Agregar => Nueva Carpeta de Solución
จากนั้นลากและวางโครงการที่มีอยู่ลงในโฟลเดอร์ใหม่นี้ โฟลเดอร์เหล่านี้ไม่มีสำเนาในระบบไฟล์ซึ่งจะช่วยให้คุณไม่เปลี่ยนแปลงโครงสร้างทางกายภาพดังนั้นเมื่อย้ายโปรเจ็กต์จากโฟลเดอร์โซลูชันหนึ่งไปยังอีกโฟลเดอร์หนึ่งจะไม่ถูกย้ายจริง
การมีคำนำหน้าอยู่ในรายการไม่จำเป็น แต่ต้องจัดเรียงโฟลเดอร์ในหน้าต่าง โซลูชัน Explorer , ถ้ามันเป็น.
Visual Studio สามารถทำงานกับโซลูชันหลายอย่างในเวลาเดียวกันได้โดยใช้ประโยชน์จากโมเดล โซลูชั่นเฉพาะพาร์ติชัน หรือ หลายโซลูชัน . ไม่ค่อยได้ใช้ดังนั้นฉันจะไม่พูดถึงพวกเขาในบทความนี้
ไม่เหมือน โฟลเดอร์โซลูชัน , โฟลเดอร์โครงการ ผูกโครงสร้างโฟลเดอร์ทางกายภาพดังนั้นจึงยังคงเป็นโฟลเดอร์จริงบนดิสก์ นอกจากนี้โฟลเดอร์โครงการที่มีรหัส C # ควรตรงกับไฟล์ เนมสเปซ . ทำให้การนำทางเป็นธรรมชาติมาก คุณสามารถเปิดใช้กฎ ReSharper เพื่อเตือนคุณถึงความไม่ลงรอยกันเหล่านี้
มีกฎแนะนำบางประการที่เกี่ยวข้องกับการตั้งชื่อ:
.Tests
Company.Product
นอกจากนี้ยังมีกฎบางประการที่สมเหตุสมผล คุณควรตัดสินใจด้วยตัวเองว่าจะใช้เมื่อใดโดยพิจารณาจากสามัญสำนึก (และไวยากรณ์แน่นอน):
Tests
หรือ System.Collections
)System.IO
doesModules.Forex.
.หลักประการหนึ่ง: คำย่อสั้น ๆ ควรมีความยาวไม่เกินสามอักขระ
การตั้งค่าโซลูชันทำได้ง่ายเพียงแค่จัดเตรียมไฟล์โครงสร้างพื้นฐานทั้งหมดที่คุณต้องการสำหรับสภาพแวดล้อมของคุณ แม้ว่าบางไฟล์จะสามารถเพิ่มได้ในภายหลัง (เช่นไฟล์การรวม CI) คุณควรมีไฟล์เพียงไม่กี่ไฟล์ในตอนเริ่มต้น
ผ่านการเป็นเจ้าของ แต่เพียงผู้เดียว vs s corp
หากคุณเป็นนักพัฒนา. NET มืออาชีพคุณอาจใช้ ReSharper ReSharper มีความยืดหยุ่นในการจัดการการตั้งค่า ในฐานะหัวหน้าทีมคุณสามารถสร้างและแจกจ่ายการกำหนดค่าได้ * แชร์ทีม * ซึ่งจะถูกใช้โดยนักพัฒนารายอื่น การกำหนดค่า * แชร์ทีม * จะถูกเก็บไว้ในไฟล์ที่มีนามสกุล .DotSettings
. ReSharper จะเลือกการตั้งค่าเหล่านี้โดยอัตโนมัติหากชื่อไฟล์ตรงกับชื่อโซลูชันของ Visual Studio :
MyCompany.MyProduct.sln MyCompany.MyProduct.sln.DotSettings
ด้วยเหตุนี้คุณควรสร้างไฟล์นี้ในตอนแรกหากคุณต้องการใช้การตั้งค่าบางอย่างกับทั้งทีม ตัวอย่างที่ดีอาจเป็นกฎที่จะใช้ (หรือไม่ใช้) คีย์ var
ไฟล์กำหนดค่าของคุณ แชร์ทีม คุณสามารถมีกฎนี้เท่านั้นในขณะที่กฎอื่น ๆ เป็นความต้องการของนักพัฒนา เป็นมูลค่าการกล่าวขวัญในลักษณะเดียวกับการตั้งค่า ReSharper สามารถตั้งค่าได้หนึ่งระดับต่อโปรเจ็กต์เนื่องจากคุณอาจมีรหัสเดิมที่คุณไม่สามารถแก้ไขได้ (เช่นเปลี่ยนไปใช้คีย์ var
)
หากคุณตั้งชื่อไฟล์นี้อย่างถูกต้องดังที่แสดงในตัวอย่างอินสแตนซ์ใหม่ของ Visual Studio ด้วยการติดตั้งใหม่ของ ReSharper มันจะเลือกไฟล์นี้โดยอัตโนมัติและบังคับใช้กฎ อย่าลืมส่งไฟล์นี้ไปยังคอนโทรลซอร์ส
เช่นเดียวกับการตั้งค่า ReSharper คุณสามารถแบ่งปันการตั้งค่า StyleCop . ถ้าคุณใช้ ReSharper จากนั้นคุณต้องติดตั้งปลั๊กอินการรวมซึ่งจะทำให้ได้เปรียบ StyleCop บน ReSharper . แต่ถึงอย่างไร, StyleCop จัดเก็บการตั้งค่าอย่างอิสระในไฟล์ชื่อ Settings.StyleCop
ในทำนองเดียวกันคุณสามารถมีไฟล์นี้พร้อมไฟล์โซลูชันและไฟล์โครงการ
หากคุณกำลังใช้ StyleCop อย่าลืมเรียกใช้เครื่องมือกำหนดค่า StyleCop และปิดการใช้งานการตรวจสอบที่คุณไม่ต้องการทำ โดยค่าเริ่มต้นการตรวจสอบทั้งหมดจะเปิดใช้งาน บันทึกการตั้งค่าใหม่ในไฟล์นี้และกำหนดเข้ากับซอร์สโค้ด
หากคุณกำลังสร้างผลิตภัณฑ์สาธารณะและกำลังจะเผยแพร่ซอร์สโค้ดอย่าลืมสร้างและส่งไฟล์เหล่านี้ด้วย:
README.md LICENSE
ฉันขอแนะนำให้ใช้รูปแบบ markdown สำหรับไฟล์ README.md
เนื่องจากกลายเป็นมาตรฐานอุตสาหกรรมซึ่งรองรับโดยบริการควบคุมแหล่งข้อมูลสาธารณะเช่น GitHub รวมถึงเซิร์ฟเวอร์ภายในเช่น BitBucket (Stash เก่า)
หากคุณกำลังสร้างไลบรารีซึ่งจะเผยแพร่ใน NuGet Gallery คุณอาจต้องสร้างไฟล์แพ็คเกจข้อมูลจำเพาะเช่น MyProject.nuspec
ฉันชอบสร้างแพ็กเกจเหล่านี้ด้วยตนเองและกำหนดให้กับการควบคุมแหล่งที่มา โดยปกติแล้วแพ็กเกจจะเปิดเผยต่อสาธารณะโดยหนึ่งในงาน Continuous Integration (IC สำหรับระยะสั้น) ของคุณ แต่คุณสามารถสร้างและเผยแพร่แพ็คเกจจากคอนโซลด้วยตนเองได้ตลอดเวลาดังที่แสดงด้านล่าง:
nuget.exe pack MyLibrary.nuspec
อย่าลืมเพิ่มเวอร์ชันของแพ็กเกจก่อนเรียกใช้คำสั่งนี้
เราทุกคนใช้บริการ IC ที่แตกต่างกันและทั้งหมดมีสคริปต์การกำหนดค่าและการตั้งค่าที่แตกต่างกัน ฉันจะพูดถึงส่วนเพิ่มเติมทั่วไปที่คุณสามารถพิจารณาเพิ่ม:
ไฟล์โครงการ ได้แก่ .csproj
หรือ .vbpro
มีการตั้งค่าทั้งหมดที่ใช้โดย Visual Studio และ MSBuild อย่างไรก็ตามไม่ใช่ทั้งหมดที่มีอยู่ในหน้าต่าง คุณสมบัติของโครงการ . ในการแก้ไขไฟล์เหล่านี้ใน Visual Studio ด้วยตนเองคุณควรทำสิ่งต่อไปนี้:
หรือคุณสามารถเปิดไฟล์โครงการในโปรแกรมแก้ไขข้อความที่คุณชื่นชอบแก้ไขและบันทึก เมื่อคุณกลับไปที่หน้าต่าง Visual Studio คุณจะได้รับคำแนะนำให้โหลดโครงการที่เปลี่ยนแปลงซ้ำ
การสร้างซอฟต์แวร์คุณภาพสูงต้องการให้คุณไม่เพิกเฉยต่อคำเตือนในการก่อสร้าง ดังนั้นคุณควรเปิดใช้งานคำเตือนในระดับสูงสุดและถือว่าคำเตือนเป็นข้อผิดพลาด โปรดทราบว่าคุณควรดำเนินการนี้กับการตั้งค่าการสร้างทั้งหมดที่คุณต้องการ แก้ไขข้อบกพร่อง ย ปล่อย . วิธีที่ดีที่สุดคือเขียนการตั้งค่าต่อไปนี้ไปยังกลุ่มคุณสมบัติทั่วไป:
4 true
และตรวจสอบให้แน่ใจว่าคุณไม่มีการตั้งค่าเดียวกันจากกลุ่มคุณสมบัติทั่วไปอื่น ๆ มิฉะนั้นจะแทนที่คุณสมบัติที่เกี่ยวข้องของกลุ่มทั่วไป
การเรียกใช้ FxCop นั้นใช้ได้จริงสำหรับแต่ละบิลด์เท่านั้น ทีมส่วนใหญ่ชอบเรียกใช้ FxCop เป็นครั้งคราว (โดยปกติก่อนการเปิดตัว) เพื่อให้แน่ใจว่าไม่มีข้อบกพร่องที่รุนแรงเกิดขึ้น อย่างไรก็ตามหากคุณต้องการตรวจสอบสิ่งก่อสร้างแต่ละชิ้นอย่างเหมาะสมที่สุดให้เพิ่มตัวเลือกนี้:
true
โปรดทราบว่า FxCop เช่น StyleCop มีการตั้งค่าของตัวเองซึ่งสามารถวางไว้ในโฟลเดอร์รากและเพิ่มลงในตัวควบคุมต้นทางได้ การตั้งค่าเหล่านี้อาจใช้เมื่อเรียกใช้ FxCop บนเซิร์ฟเวอร์ CI
ส่วนนี้เกี่ยวกับ XmlDoc หากคุณกำลังสร้าง API สาธารณะคุณควรสร้างและดูแลเอกสารประกอบ API นักพัฒนาส่วนใหญ่เริ่มต้นด้วยการพัฒนา API (การเข้ารหัสจริง) และก่อนเปิดตัวพวกเขาจะเปิดใช้งานการเข้ารหัสโครงการ Build / XML documentation file
โดยปกติหลังจากสร้างใหม่อีกครั้งข้อผิดพลาดจำนวนมากจะปรากฏขึ้นเนื่องจาก XmlDoc ที่หายไปทุกรายการส่งผลให้เกิดข้อผิดพลาดในการสร้าง เพื่อหลีกเลี่ยงปัญหานี้คุณควรเปิดใช้งานตัวเลือกที่กล่าวถึงตั้งแต่ต้น
หากคุณขี้เกียจเขียนเอกสารที่เหมาะสมหรือไม่ต้องการถอดเสียงข้อความจำนวนมากให้ใช้เครื่องมือที่ทำให้กระบวนการนี้เป็นไปโดยอัตโนมัติเช่น Ghostdoc .
รหัสสัญญา เป็นกรอบงานการวิจัยของ Microsoft ที่ยอดเยี่ยมซึ่งช่วยให้คุณแสดงเงื่อนไขล่วงหน้าและความไม่แน่นอนของวัตถุในโค้ดของคุณสำหรับรันไทม์การทดสอบการวิเคราะห์แบบคงที่และเอกสารประกอบ ฉันใช้มันในโครงการที่สำคัญหลายโครงการและช่วยฉันได้มากดังนั้นฉันขอแนะนำให้คุณลองทำดู
หากคุณตัดสินใจที่จะใช้ Code Contracts สิ่งสำคัญคือต้องเปิดใช้งาน Contracts ตั้งแต่เริ่มต้น การเพิ่มสัญญาระหว่างการพัฒนาเป็นไปได้ แต่จะต้องมีการเปลี่ยนแปลงในหลาย ๆ คลาสเพื่อให้สัญญาจับคู่กัน ดังนั้นอย่าลืมเปิดใช้งานการตั้งค่าที่จำเป็นทั้งหมด (อย่างน้อย CodeContractsEnableRuntimeChecking
) และตรวจสอบให้แน่ใจว่าการตั้งค่าเหล่านี้ปรากฏในกลุ่มคุณสมบัติทั่วไป
ก่อนหน้านี้เราได้พูดถึงการตั้งค่า StyleCop สำหรับเวลาในการพัฒนา อย่างไรก็ตามเมื่อโครงการของคุณสร้างบนเซิร์ฟเวอร์ CI ReSharper ไม่มีผลใด ๆ ดังนั้นเราควรเปิดใช้งานการตรวจสอบความถูกต้องของ StyleCop เพื่อรันกับ MSBuild
โดยปกติจะทำได้โดยการแก้ไขไฟล์โครงการ คุณต้องดาวน์โหลดโครงการที่ Visual Studio แก้ไขไฟล์โครงการแล้วโหลดโครงการอีกครั้ง:
สร้าง Google glass ของคุณเอง
false
StyleCopTreatErrorsAsWarnings
มันจะทำตามที่มันบอก: มันจะทำลายงานสร้างของคุณเนื่องจากละเมิดกฎ StyleCop MSBuild ต้องการอิลิเมนต์อิมพอร์ตเพื่อเพิ่มการทดสอบ StyleCop ในบิลด์เชน
คุณอาจสังเกตเห็นเส้นทางไปยัง Program Files
เนื่องจากนักพัฒนาอาจมีการติดตั้ง StyleCop เวอร์ชันที่แตกต่างกันบางทีมจึงต้องการเก็บสำเนาส่วนตัวของการติดตั้ง StyleCop เดียวกันไว้ภายใต้การควบคุมแหล่งที่มา ในกรณีนี้เส้นทางจะสัมพันธ์กัน นอกจากนี้ยังทำให้การติดตั้งเครื่อง CI ง่ายขึ้นเนื่องจากคุณไม่จำเป็นต้องติดตั้ง StyleCop ในเครื่อง
ทุกโครงการ. NET ที่สร้างโดย ตัวช่วย Visual Studio จะมีไฟล์ AssemblyInfo.cs
เติมข้อมูลโดยอัตโนมัติ (ดู คุณสมบัติ โฟลเดอร์ย่อย) ซึ่งมีคุณสมบัติบางอย่าง Assembly
แต่ไม่มี ตัวช่วย สามารถกรอกแอตทริบิวต์ทั้งหมด Assembly
สำหรับคุณ. ตรวจสอบให้แน่ใจว่าคุณมีแอตทริบิวต์เหล่านี้เป็นอย่างน้อย:
AssemblyTitle
AssemblyDescription
AssemblyCompany
AssemblyProduct
AssemblyCopyright
AssemblyVersion
นี่คือขั้นต่ำที่จำเป็นสำหรับชุดประกอบใด ๆ ที่คุณจะแจกจ่าย เหตุผลที่เป็นประโยชน์ประการหนึ่งที่อยู่เบื้องหลังสิ่งนี้คือ NuGet: หากคุณใช้ NuGet อัตโนมัติสำหรับการสร้างไฟล์แอสเซมบลีเฉพาะเครื่องมือนี้จะให้ข้อมูลที่จำเป็นเกี่ยวกับคุณสมบัติเหล่านี้
คุณยังสามารถเติมพร็อพเพอร์ตี้ได้อีกหนึ่งรายการตั้งแต่เริ่มต้น:
InternalsVisibleTo
คุณสมบัตินี้ทำให้คลาสภายในและอินเทอร์เฟซมองเห็นได้สำหรับแอสเซมบลีเฉพาะ โดยทั่วไปจะใช้สำหรับการทดสอบอัตโนมัติที่คุณจะสร้างสำหรับโครงการของคุณ
วิธีการขับรถ สตริงการเชื่อมต่อ เป็นคำถามยอดนิยมใน Stack Overflow . ปัญหาคือทำอย่างไรให้สตริงการเชื่อมต่อไม่ซ้ำกันสำหรับนักพัฒนาหรืองาน CI แต่ละงานและไม่เปิดเผยรายละเอียดการเชื่อมต่อขณะเผยแพร่ซอร์สโค้ด
ใน App.config
(สำหรับแอปพลิเคชันเดสก์ท็อป) หรือ Web.config
(สำหรับเว็บแอปพลิเคชัน) ทำการกำหนดค่าต่อไปนี้ซึ่งจะโหลดไฟล์ user.config
ที่รันไทม์ มีสิ่งนี้ในการควบคุมแหล่งที่มาของคุณ:
user.config
เห็นได้ชัดว่าไฟล์ .gitignore
ควรแยกออกจากการควบคุมแหล่งที่มาและนักพัฒนาทุกคนควรมีสำเนาของไฟล์นี้ในเครื่องดังนั้นความเป็นส่วนตัวของสตริงการเชื่อมต่อจะได้รับการรักษาไว้:
.gitignore
สำหรับผู้ที่ใช้ Git เป็นตัวควบคุมแหล่งที่มาสิ่งสำคัญคือต้องเพิ่มรูปแบบไฟล์ลงใน README
. อย่างไรก็ตามชุมชนอัจฉริยะของเราได้จัดทำที่เก็บถาวรทั่วไปซึ่งคุณสามารถพบได้ที่นี่: github.com/github/gitignore/blob/master/VisualStudio.gitignore .
คุณควรใช้เป็นไฟล์อ้างอิง README.md
และเพิ่มการยกเว้นแบบกำหนดเองที่คุณอาจต้องการ
บางทีคุณอาจเห็นป้ายที่ดีมากบนหน้า [](http://dotnet-ci.cloudapp.net/job/roslyn_master_win_dbg_unit32/)](http://dotnet-ci.cloudapp.net/job/roslyn_master_win_dbg_unit32/badge/icon)](http://dotnet-ci.cloudapp.net/job/roslyn_master_win_dbg_unit32/)) [](https://gitter.im/dotnet/roslyn?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)](https://gitter.im/dotnet/roslyn](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/dotnet/roslyn?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge))
ของโครงการ หากคุณกำลังจะเผยแพร่โครงการของคุณใน GitHub คุณอาจต้องการเชื่อมต่อโครงการของคุณกับบริการสาธารณะ:
คุณสามารถดูรายชื่อป้ายและบริการที่เกี่ยวข้องทั้งหมดได้ที่ shields.io . คุณอาจพบป้ายต่างๆที่ดีสำหรับโครงการโอเพ่นซอร์ส
ผลตอบแทนจากการลงทุน การวัดผลการปฏิบัติงาน:
เมื่อคุณลงทะเบียนสำหรับโปรเจ็กต์ของคุณด้วยบริการเฉพาะแล้วพวกเขาจะให้ลิงค์ไปยังรูปภาพและลิงค์ไปยังไวยากรณ์ markdown ที่สมบูรณ์ซึ่งคุณสามารถเพิ่มลงในไฟล์ของคุณ .csproj
. อย่างไรก็ตามนี่เป็นสาเหตุหนึ่งที่คุณควรเลือก markdown ไปที่ไฟล์มากกว่า Readme .
ตัวอย่างป้ายลดราคาจาก Project Roslyn:
MiCompañía.MiProducto
แม้ว่าคุณจะได้กำหนดการตั้งค่าทั้งหมดที่อธิบายไว้ในบทความนี้ในบางจุดนักพัฒนาของคุณอาจเปลี่ยนแปลงและบันทึกการเปลี่ยนแปลงในแหล่งการควบคุม บางครั้งสิ่งนี้เกิดขึ้นโดยไม่ได้ตั้งใจและโดยปกติจะไม่เห็นการเปลี่ยนแปลงเหล่านี้เมื่อตรวจสอบโค้ด นอกเหนือจากอุบัติเหตุเหล่านี้เราควรระวังข้อผิดพลาดต่อไปนี้:
Install-Package SolutionInspector
. สิ่งนี้จะทำให้การสร้างไม่ทำงานอย่างแน่นอน แต่อาจเกิดขึ้นช้ามากเมื่อมีการเปลี่ยนแปลงและมีคนอื่นใช้งานแล้ว สิ่งนี้จำเป็นอย่างยิ่งในไฟล์เว็บแบบคงที่ซึ่งคุณไม่สามารถตรวจสอบได้ในระหว่างการสร้าง ](http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>) 12.00 12.00 true MyCompany.MyProduct. true AVerySpecialProject1; AVerySpecialProject2; true true true true StyleCop.MSBuild.Targets true false
ในบางครั้งฉันพบว่าการดูข้อผิดพลาดเหล่านี้ใน Code Reviews มีแนวโน้มที่จะเกิดข้อผิดพลาดมากกว่าและควรเป็นแบบอัตโนมัติ นั่นคือเหตุผลที่เขาเขียนเครื่องมือง่ายๆที่ทำสิ่งนี้และบทวิจารณ์อื่น ๆ เพื่อตรวจสอบว่าโซลูชันนั้นสอดคล้องกัน พบกัน SolutionInspector . เป็นโอเพ่นซอร์สและเผยแพร่ภายใต้ใบอนุญาตจาก MIT คุณสามารถสร้างได้จากซอร์สโค้ดหรือติดตั้งโดย NuGet:
MinSolutionFormatVersion
เครื่องมือนี้จะแสดงโครงสร้างโซลูชันทั้งหมดและใช้กฎการตรวจสอบความถูกต้องหลายข้อ กฎถูกกำหนดคอนฟิกในไฟล์ XML ตลอดไฟล์โซลูชันอื่น ๆ ในการควบคุมการตั้งค่าในฐานของแต่ละโปรเจ็กต์คุณเพียงแค่ต้องเพิ่มไฟล์เดียวกัน แต่มีการกำหนดค่าที่แตกต่างกันไปยังโฟลเดอร์โปรเจ็กต์ที่เกี่ยวข้อง
ไม่จำเป็นต้องใช้ไฟล์คอนฟิกูเรชันเริ่มต้น ในกรณีนี้เครื่องมือจะใช้กฎที่มีอยู่ทั้งหมดจากนั้นจะสร้างปัญหาที่มีอยู่ทั้งหมดไปยังคอนโซล
คุณสามารถดูตัวอย่างไฟล์กำหนดค่าได้ที่นี่:
MaxSolutionFormatVersion
แม้ว่าการกำหนดค่าจะเฉพาะเจาะจงในลักษณะเดียวกับที่ฉันจะอธิบายด้านล่าง:
DetectMissingFiles
/ AllowBuildEvents
สิ่งนี้จะทำให้นักพัฒนาเปลี่ยนเวอร์ชันของ Visual StudioProperties
มีประโยชน์มากสำหรับเนื้อหาเว็บแบบคงที่หรือไฟล์อื่น ๆ ที่ไม่ใช่รหัสที่เพิ่มเข้าไปในโซลูชันหรือโครงการ|_+_|คุณสามารถป้องกันไม่ให้เพิ่มเหตุการณ์บิลด์ที่กำหนดเองซึ่งอาจทำสิ่งที่ไม่จำเป็นได้
|_+_|เป็นองค์ประกอบที่ยืดหยุ่นที่สุด: คุณสามารถตรวจสอบคุณสมบัติใด ๆ กับค่าที่ต้องการไม่ว่าจะเป็นค่าที่รู้จักหรือคุณสมบัติที่กำหนดเอง
เราได้ตรวจสอบแนวทางปฏิบัติมาตรฐานไฟล์การกำหนดค่าและการตั้งค่าโครงการต่างๆที่คุณสามารถนำไปใช้ได้เมื่อเริ่มโครงการใหม่ การทำเช่นนี้เมื่อคุณเพิ่งเริ่มต้นสามารถลดหนี้ทางเทคนิคได้และจะทำให้โครงการซอร์สโค้ดของคุณดูดีและเป็นมืออาชีพ สำหรับโครงการโอเพ่นซอร์สสิ่งนี้มีความสำคัญอย่างยิ่งเนื่องจากผู้ร่วมให้ข้อมูลทุกคนสามารถเรียนรู้ประสบการณ์ของคุณในการตรวจสอบการกำหนดค่าโซลูชันและไฟล์โครงการ
ที่เกี่ยวข้อง: .NET Core - ไปป่าและโอเพ่นซอร์ส Microsoft ใช้เวลาอะไรนานขนาดนี้!