ฉันใช้ TeamCity ซึ่งจะเรียกใช้ msbuild (.NET 4) ฉันมีปัญหาแปลก ๆ คือหลังจากที่บิลด์เสร็จสมบูรณ์ (และดูเหมือนว่าจะไม่สำคัญว่าจะเป็นบิลด์ที่ประสบความสำเร็จหรือไม่) msbuild.exe ยังคงเปิดอยู่และล็อคไฟล์ใดไฟล์หนึ่ง ซึ่งหมายความว่าทุกครั้งที่ TeamCity พยายาม เพื่อล้างไดเร็กทอรีงาน ล้มเหลว และไม่สามารถดำเนินการต่อได้
สิ่งนี้เกิดขึ้นเกือบทุกครั้ง
ฉันหลงเรื่องนี้มาก ดังนั้นฉันจะพยายามให้รายละเอียดให้มากที่สุด
- เซิร์ฟเวอร์คือ Intel Core i7, RAM 2 GB พร้อม Windows Server 2008 มาตรฐาน 64 บิต SP2
- ใน TeamCity นักวิ่ง msbuild ได้รับการกำหนดค่าด้วยพารามิเตอร์บรรทัดคำสั่ง
/m
(ซึ่งหมายถึงการใช้หลายคอร์) - ไฟล์ที่เป็นปัญหาคือ เสมอ ซึ่งเป็น DLL ภายนอกเดียวกันกับที่อ้างอิงในโครงการ .NET รายการใดรายการหนึ่ง ในเส้นทาง
External Tools\Telerik\Telerik.Reporting.Dll
(มีไฟล์ .DLL อื่นๆ หลายไฟล์รวมอยู่ในExternal Tools
dir ในโครงสร้างพาธที่คล้ายกันซึ่งไม่เคยทำให้เกิดปัญหานี้) ขณะนี้เป็นรายงาน Telerik เวอร์ชันทดลอง ในกรณีที่สร้างความแตกต่าง - เมื่อปัญหานี้เกิดขึ้น จะมีกระบวนการ
msbuild.exe *32
หลายรายการอยู่ในตัวจัดการงานเสมอ: ฉันเชื่อว่ามี 7 กระบวนการ เมื่อใช้ Process Explorer กระบวนการทั้งหมดจะดูเหมือนกระบวนการระดับบนสุด (ไม่มีพาเรนต์) ทั้งหมดใช้ RAM 20-50MB และ CPU 0.0% - ถ้าฉันรอ 1-3 นาที กระบวนการ msbuild.exe จะออกเอง จากนั้น TeamCity จะสามารถอัปเดตไดเร็กทอรีงานได้อย่างถูกต้อง
- หากฉันยุติกระบวนการ msbuild ด้วยตนเอง การอัปเดตของ TeamCity จะทำงานอีกครั้งทันที
- บริการสร้างดัชนีถูกปิดใน Windows (แม้ว่าสองจุดก่อนหน้านี้จะยืนยันว่า msbuild.exe ทำให้เกิดปัญหา)
- ไม่มีคุณสมบัติพิเศษใน Telerik.reporting.dll คุณสมบัติ SVN เดียวคือ
svn:mime-type = application/octet-stream
มีใครเคยเจอสิ่งนี้มาก่อนหรือไม่?