คัดลอกคำสั่งที่ออกด้วยรหัส 4 เมื่อสร้าง - การรีสตาร์ท Visual Studio แก้ไขได้


151

ทุก ๆ ตอนและเมื่อฉันสร้างโซลูชันของฉันที่นี่ (มี 7 โครงการในนั้น) ฉันได้รับข้อผิดพลาด 'คัดลอกคำสั่งออกจากรหัส 4' ข้อผิดพลาดใน Visual Studio 2010 Premium ed

นี่เป็นเพราะเหตุการณ์ post-build ไม่สามารถผ่านได้

นี่คือสิ่งที่จะแก้ปัญหาชั่วคราว

  • บางครั้ง: การรีสตาร์ท Visual Studio และฉันสามารถสร้างโซลูชันได้
  • บางครั้ง: ทั้งการเริ่มต้นใหม่ของ Visual Studio และตัวจัดการไฟล์ที่ฉันเลือก (Q-Dir 4.37) แก้ไขได้

นี่คือสิ่งที่เหตุการณ์หลังการสร้างมีลักษณะดังนี้:

xcopy "$(SolutionDir)Solution Items\References\*.dll" "$(TargetDir)" /Y

เมื่อคุณได้รับการคัดลอกคำสั่งออกจากรหัสข้อผิดพลาด [ใส่ค่า] มันเป็นเรื่องปกติเพราะต่อไปนี้:

  • สิทธิ์ในการอ่าน / เขียน
  • ไฟล์หายไป
  • ไดเรกทอรีที่ไม่ถูกต้อง

อย่างไรก็ตาม - บางครั้งเมื่อฉันสร้างโซลูชันไม่มีปัญหา

FYI ฉันถอนการติดตั้ง ReSharper 5.1.1 เมื่อสองสัปดาห์ที่แล้วและ Visual Studio ให้ข้อผิดพลาดบางอย่างกับฉันตั้งแต่นั้นมา ฉันติดตั้ง Visual Studio อีกครั้งและทำงานได้ดีขึ้นตั้งแต่นั้นมา แต่ยังคงมีปัญหานี้อยู่ มันจะต้องทำอย่างไรกับบางสิ่งที่ ReSharper อยู่ที่ไหนสักแห่ง?

คุณมีปัญหาเดียวกันและแก้ไขมันได้หรือไม่ หรือคุณมีทางออกที่เป็นไปได้หรือไม่

คำตอบ:


74

ฉันพบนี้คงเป็นปัญหาการล็อคไฟล์ รหัส 4 ไม่สามารถเข้าถึงไฟล์ วิธีแก้ปัญหาบางส่วนที่ฉันพบคือใช้ตัวเลือก / C สำหรับ xcopy (ซึ่งยังคงมีข้อผิดพลาด) ไม่ใช่วิธีการแก้ปัญหา แต่ส่วนใหญ่มันได้หยุดการสร้างของฉันจากความล้มเหลว

โซลูชั่นที่ทำงานเฉพาะใน 32 บิตก็คือการใช้Unlockerเครื่องมือในการปล่อยจับหน้าต่างที่ไฟล์ก่อนที่จะคัดลอก

แก้ไข: ฉันเพิ่งรู้ว่ามันทำงานภายใต้ 64 บิตด้วย


3
ฉันเพิ่มตัวเลือก / C ไปที่คำสั่ง xcopy ด้านบนและบิลด์ succeded ขอบคุณ! Unlocker มีค่าในบางครั้ง
Martin S Ek

2
ฉันมีปัญหานี้เพราะหนึ่งในไฟล์เป็นแบบอ่านอย่างเดียว เมื่อฉันเปลี่ยนที่มันทำงาน
บ๊อบฮอร์

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

3
ตัวปลดล็อกนี้ที่คุณชี้ไปถูกตรวจพบว่าเป็นไวรัสโดยเกือบทุกอย่าง (Google Safe Browsing เนื้อหา eset virustotal ... ) ดูเหมือนว่าจะมีการอภิปรายเกี่ยวกับที่นี่cnet.com/forums/discussions/unlocker-contain-malware-558941
v.oddou

จำไว้ว่าคำตอบนี้มีอายุเท่าไหร่ ไวรัสที่คุณอ้างว่าเป็นเครื่องมือโฆษณาที่ตอนนี้ดูเหมือนว่าจะรวมอยู่ในตัวติดตั้งไม่ใช่ซอฟต์แวร์ตัวปลดล็อค
Preet Sangha

196

แม้ว่า/Cอาจละเว้นข้อผิดพลาด แต่อาจไม่ใช่วิธีแก้ปัญหาจริงเนื่องจากอาจมีไฟล์ที่ต้องคัดลอกเพื่อให้การสร้างสำเร็จ

ปัญหาที่พบบ่อยที่สุดคือคำพูดที่ขาดหายไปรอบ ๆ แท็กคำสั่งที่กำหนดไว้ล่วงหน้า (เช่น$TargetDir) เมื่อมีการสร้างสาขาและเส้นทางที่หลากหลายในรหัสหรือ TFS มีโอกาสสูงที่จะเกิดขึ้น

บางครั้งหากไฟล์อ่านอย่างเดียวก็จะทำให้เกิดปัญหาเช่นกัน เพิ่ม/Rตัวเลือกเพื่ออนุญาตให้คัดลอกไฟล์แบบอ่านอย่างเดียว คุณสามารถค้นหารายการของตัวเลือกที่ใช้ได้ที่:

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/xcopy.mspx?mfr=true

ปัญหาที่เป็นไปได้อีกประการหนึ่งคือไม่สามารถเข้าถึงโฟลเดอร์พื้นฐานได้ ถ้าเป็นเช่นนั้นพยายามดำเนินการแทน"start xcopy" "xcopy"นี่จะเป็นการเปิดหน้าต่างคำสั่งอื่น แต่ด้วยผู้ดูแลระบบ priveleges


53
'เริ่มต้น' แก้ไขให้ฉัน ... จากฟอรัมอื่นดูเหมือนว่าจะเป็นปัญหาสิทธิ์ที่ 'เริ่มต้น' แก้ไขแม้ว่าปลายทางจะมี FullControl สำหรับ 'ทุกคน' ในกล่องของฉัน นอกจากนี้คุณสามารถเรียกใช้ 'เริ่มต้น / นาที xcopy ... ' เพื่อลดการสั่นไหวของหน้าต่าง
mdisibio

2
ฉันเปลี่ยน c: \ windows \ system32 \ xcopy.exe $ (TargetPath) <เส้นทางปลายทาง> เป็น c: \ windows \ system32 \ xcopy.exe "$ (TargetPath)" <เส้นทางปลายทาง> และไม่มีปัญหาในช่วง 50+ ที่ผ่านมา สร้าง
pennyrave

1
ฉันใช้ "$ (OutDir) $ (TargetFileName)" แล้วเปลี่ยนเป็น "$ (TargetPath)" แก้ปัญหา เช่นเดียวกับการใช้ 'เริ่มต้น'!
เล่น

ดูเหมือนว่าปัญหาของฉันมาจากการใช้อักขระขีดกลางในชื่อโฟลเดอร์หลักแทนที่จะเป็นเครื่องหมายขีดกลาง ฉันทำผิดพลาดในการคัดลอก / วางชื่อของโฟลเดอร์สาขาจากคำซึ่งเป็นบางอย่างเช่น "1234 - ABCD" เปลี่ยนชื่อเป็น "1234 - ABCD" และ xcopy ทำงานได้ดีในขณะนี้
Sudeep

เพิ่มstartและ/Rในกรณี ... ไม่แน่ใจว่าอันไหนทำเคล็ดลับได้ แต่ใช้งานได้! ขอบคุณ!
sǝɯɐſ

19

ฉันข้ามข้อผิดพลาดเดียวกัน แต่ไม่ได้เกิดจากไฟล์ถูกล็อค แต่ไฟล์หายไป

สาเหตุที่ VS พยายามคัดลอกไฟล์ที่ไม่มีอยู่นั้นเป็นเพราะคำสั่งเหตุการณ์หลังสร้าง

หลังจากที่ฉันเคลียร์ปัญหาก็แก้ไขได้

UPDATE:

ในฐานะ @rhughes แสดงความคิดเห็น:

ปัญหาที่แท้จริงคือวิธีทำให้คำสั่งทำงานที่นี่แทนที่จะเอาออก

และเขาพูดถูก

ป้อนคำอธิบายรูปภาพที่นี่


1
หากคุณกำลังคัดลอกไฟล์ในระหว่างการโพสต์บิลด์อาจเป็นเพราะคุณป้อนคำสั่งที่นี่ ปัญหาที่แท้จริงคือวิธีทำให้คำสั่งใช้งานได้ที่นี่แทนที่จะลบออก
rhughes

9

ฉันยังต้องเผชิญกับปัญหานี้อีกครั้งตรวจสอบผลลัพธ์ในหน้าต่างข้อผิดพลาด

ในกรณีของฉัน tailing \crashing xcopy (เหมือนที่ฉันใช้$(TargetDir)) $(SolutionDir)..\binในกรณีของฉัน หากคุณกำลังใช้เอาต์พุตอื่นจำเป็นต้องปรับค่านี้

นอกจากนี้โปรดทราบว่าstart xcopyไม่สามารถแก้ไขได้หากข้อผิดพลาดหายไปหลังจากรวบรวม มันอาจจะถูกระงับโดยบรรทัดคำสั่งและไม่มีการคัดลอกไฟล์จริง ๆ !

คุณสามารถ btw ดำเนินการคำสั่ง xcopy ของคุณด้วยตนเองในเชลล์คำสั่ง คุณจะได้รับรายละเอียดเพิ่มเติมเมื่อดำเนินการที่นั่นชี้ไปในทิศทางที่ถูกต้อง


สิ่งเดียวกันก็เกิดขึ้นกับฉันด้วยเงิน $ (OutDir) ดูเหมือนว่าแมโครเส้นทางทั้งหมดจะมี "\" ในตอนท้ายและทำให้เกิดปัญหา xcopy
Leo Kolezhuk

6

ในกรณีที่เหตุการณ์ post build มีคำสั่ง copy / xcopy สำหรับการคัดลอกเอาต์พุต build ไปยังบางไดเร็กทอรี (ซึ่งโดยทั่วไปคือการดำเนินการ build post ทั่วไป) ปัญหาอาจเกิดขึ้นในกรณีที่พา ธ ไดเร็กทอรีแบบเต็มของปลายทางต้นทางหรือปลายทางมีชื่อโฟลเดอร์ซึ่งประกอบด้วย ช่องว่าง ลบที่ว่างสำหรับชื่อไดเรกทอรีแล้วลอง


5

ดังที่กล่าวไว้ในหลาย ๆ เว็บไซต์มีหลายสาเหตุด้วยกัน สำหรับฉันมันเป็นเพราะความยาวของแหล่งที่มาและปลายทาง (ความยาวเส้นทาง) ฉันลอง xcopy ใน command prompt และฉันไม่สามารถพิมพ์แหล่งที่มาและพา ธ ที่สมบูรณ์ (หลังจากตัวละครบางตัวมันไม่อนุญาตให้คุณพิมพ์) จากนั้นฉันลดความยาวของเส้นทางและสามารถเรียกใช้ หวังว่านี่จะช่วยได้


4

เรียกใช้ VS ในโหมดผู้ดูแลระบบและควรใช้งานได้ดี


1
ฉันใช้ VS ในฐานะผู้ดูแลระบบ แต่นี่ไม่ได้ผลสำหรับฉัน
อาราฟัต

ผู้ใช้บางคนอาจไม่สามารถทำงานในโหมดผู้ดูแลระบบ
MrSpudtastic

3

ฉันได้รับข้อผิดพลาดนี้เนื่องจากบัญชีผู้ใช้ที่ TFS Build Service ทำงานอยู่ไม่มีสิทธิ์ในการเขียนไปยังโฟลเดอร์ปลายทาง Right-click on the folder-->Properties-->Security.


สวมหมวกไปที่ "Tangodancer" และหรือ "Abdul Rahman" คลิกขวาที่โฟลเดอร์ -> คุณสมบัติ -> ความปลอดภัยแก้ไขปัญหาสำหรับฉันบนระบบ XP SP3 แบบสแตนด์อะโลนขอบคุณ

3

สิ่งนี้สามารถเกิดขึ้นได้ในหลายกรณี:

  1. เมื่อเส้นทางสตริงที่สมบูรณ์มีความยาวมากกว่า 254 ตัวอักษร
  2. เมื่อชื่อไฟล์ที่จะคัดลอกผิด
  3. เมื่อเส้นทางเป้าหมายผิด
  4. เมื่อมีการตั้งค่าแอตทริบิวต์อ่านอย่างเดียวในไฟล์ที่คัดลอกหรือโฟลเดอร์เป้าหมาย

2

ฉันได้รับข้อผิดพลาดนี้เนื่องจากไฟล์ถูกเปิดในอินสแตนซ์อื่น

เมื่อฉันปิดไฟล์และสร้างโซลูชันขึ้นใหม่อีกครั้ง


2

ฉันประสบปัญหาเดียวกันในกรณีของ XCOPY หลังจากสร้างเสร็จแล้ว ในกรณีของฉันปัญหาเกิดขึ้นเนื่องจากสิทธิ์แบบอ่านอย่างเดียวที่ตั้งไว้ในโฟลเดอร์

ฉันเพิ่มคำสั่ง attrib -R ก่อน XCOPY และแก้ไขปัญหา

หวังว่ามันจะช่วยให้ใครบางคน!


2

ฉันมีข้อผิดพลาดเดียวกันกับ xcopy ที่เกี่ยวข้องกับเครื่องทดสอบ ฉันใช้ VisualStudio Professional 2013 ตามค่าเริ่มต้นการทดสอบ -> การตั้งค่าการทดสอบ -> ให้การรันโปรแกรมทดสอบการดำเนินการต่อไปดูเหมือนจะเป็นสาเหตุของรหัสข้อผิดพลาด 4 ที่มี xcopy การปิดใช้งานช่วยแก้ปัญหาได้ เอ็นจิ้นการดำเนินการดูเหมือนจะค้างไว้ที่. dll บางตัว


1

ผมมีปัญหาเหมือนกัน. 'Clean Solution' ที่เรียบง่ายใน VS ล้างข้อผิดพลาด แต่เป็นวิธีแก้ปัญหาชั่วคราว


ฉันได้รับปัญหานี้และ "Clean Solution" ไม่ได้ช่วยฉัน "Clean Solution" ทำงานให้คุณทุกครั้งหรือไม่
qxotk

1

ฉันพบว่าการตั้งค่าพารามิเตอร์ Copy To Output Directory ของไฟล์เป็น Copy เสมอดูเหมือนว่าจะหมดปัญหาการล็อคแล้ว แม้ว่าตอนนี้ฉันมีไฟล์ 2 ชุดและจำเป็นต้องลบออก


1

ผมมีปัญหาเหมือนกัน. อย่างไรก็ตามไม่มีอะไรทำงานให้ฉัน ฉันแก้ไขปัญหาด้วยการเพิ่ม

exit 0

รหัสของฉัน ปัญหาคือในขณะที่ฉันกำลังคัดลอกไฟล์บางครั้งไม่พบไฟล์ล่าสุดและค้างคาวส่งคืนค่าที่ไม่เป็นศูนย์

หวังว่านี่จะช่วยใครซักคน!


1

หากคุณใช้ Windows 7 ขึ้นไปคุณสามารถลองใช้คำสั่ง 'robocopy' ใหม่:

robocopy "$(SolutionDir)Solution Items\References\*.dll" "$(TargetDir)"

ข้อมูลเพิ่มเติมเกี่ยวกับ robocopy สามารถพบได้ที่นี่


1

ฉันประสบปัญหาเดียวกัน ฉันลบกิจกรรม post-build และเริ่มทำงาน บางครั้งเมื่อเราเพิ่มส่วนประกอบของ SQL มันอาจเพิ่มคำสั่ง post build ด้วย


1

ฉันได้รับสิ่งที่คล้ายกันโดยใช้ xcopy ด้วยตัวเลือก / ไม่รวม ในกรณีของฉันฉันพบว่าการแก้ไขเหตุการณ์ post-build (สิ่งที่ไม่เป็นอันตรายเหมือนขึ้นบรรทัดใหม่หลังจากคำสั่ง) และการบันทึกโครงการทำให้เกิดข้อผิดพลาดเกิดขึ้น การบันทึกไฟล์ที่ระบุในตัวเลือก / ไม่รวมทำให้การทำงานอีกครั้ง


1

ขณะที่ฉันกำลังเขียนไลบรารี DLL ฉันใช้คำสั่ง xcopy เพื่อคัดลอกไลบรารีที่โปรแกรมสามารถค้นหาและโหลดได้ หลังจากเปิดและปิดโปรแกรมหลายครั้งยังคงมีกระบวนการเปิดอยู่ใน taskmanager ซึ่งฉันไม่รู้จัก

ค้นหากระบวนการใด ๆ ที่ไฟล์อาจถูกใช้และปิด


1

ซ่อมอะไรให้ฉัน : ขุดลงไปยังโซลูชันเฉพาะสำหรับโครงการที่คุณต้องการเช่นไม่ใช่ไฟล์โซลูชันโดยรวมสำหรับโครงการทั้งหมด

ลอง - ฉันลองทุกอย่างที่กล่าวถึงที่นี่ แต่ไม่มีประโยชน์


1

ฉันไม่เห็นอะไรเลยที่นี่เพื่อแนะนำว่านี่เป็นเว็บแอพ แต่ฉันประสบปัญหานี้ด้วยตัวเอง - ฉันมีคำสั่ง xcopy สองคำสั่งในการโพสต์บิลด์และมีเพียงหนึ่งรายการที่ล้มเหลว มีบางอย่างล็อคไฟล์อยู่และไม่ใช่ Visual Studio (เพราะฉันลองรีสตาร์ทแล้ว)

สิ่งเดียวที่จะใช้ dll ที่ฉันสร้างขึ้นก็คือ IIS และดูเถิดและดูเถิด

iisresetเคล็ดลับง่าย ๆสำหรับฉัน


1

ฉันมีปัญหาเดียวกัน มันเกิดจากการมีธงเดียวกันสองครั้งตัวอย่างเช่น:

if $ (ConfigurationName) == Release (xcopy "$ (TargetDir) . " "$ (SolutionDir) การปรับใช้ \ $ (ProjectName) \" / e / d / i / y / e)

สังเกตว่าการตั้งค่าสถานะ "/ e" ปรากฏขึ้นสองครั้ง การลบสิ่งที่ซ้ำกันช่วยแก้ไขปัญหา


1

ในกรณีของฉันฉัน$(OutDir)เป็นเพียง..\..\Build\บางเส้นทางญาติ และเมื่อฉันพยายาม xcopy ดังนี้ xcopy /y "$(OutDir)Proj1.dll" "Anypath\anyfolder\"ฉันได้รับรหัสข้อผิดพลาด exit 4

สิ่งที่เกิดขึ้นคือคำสั่งนี้ถูกเรียกใช้งานใน $ (OutDir) (ในโฟลเดอร์ build ของฉัน) และไม่ใช่ไดเรกทอรีที่ไฟล์ csproj ของโครงการตั้งอยู่ (ตามปกติเราคาดหวัง) ดังนั้นฉันยังคงได้รับFile not foundข้อผิดพลาด (สอดคล้องกับรหัสทางออก 4)

ฉันไม่สามารถเข้าใจเรื่องนี้ได้จนกว่าฉันจะเขียนcdในเหตุการณ์โพสต์บิลด์เพื่อพิมพ์ว่าไดเรกทอรีใดที่ถูกเรียกใช้งาน

ดังนั้นเพื่อสรุปถ้าเราต้องการcopy/ xcopyไฟล์จาก$(OutDir)ทั้งใช้"$(TargetDir)"(ซึ่งเป็นเส้นทางที่สมบูรณ์สำหรับไดเรกทอรีออก) หรือไม่จำเป็นต้องระบุเส้นทางใด ๆ เลย


0

อาจเกิดจาก VMWare Workstation พร้อม Shared Folders

ฉันมีปัญหาเสมอเมื่อโฟลเดอร์ destinatinon ของ xcopyนั้นถูกแมปเป็นโฟลเดอร์แชร์ใน VM

ฉันแก้ไขด้วยสคริปต์ที่ทำงานใน vm และลบเนื้อหาของโฟลเดอร์แชร์


0

หากต้องการขยายคำตอบคำตอบ

robocopy ใช้งานได้อย่างสวยงามเพียงแค่ใส่ในกรณีที่คุณต้องการรวมไดเรกทอรีย่อยที่คุณสามารถใช้/eเพื่อรวมส่วนย่อยและคัดลอกไดเรกทอรีว่างเปล่าหรือ/sเพื่อรวมกลุ่มย่อยที่ไม่รวมไดเรกทอรีว่าง

robocopy จะรายงานกลับบางสิ่งเช่นถ้าไฟล์ใหม่ถูกคัดลอกนี่จะทำให้ VS บ่นเพราะสิ่งใดเหนือ 0 เป็นความล้มเหลวและ robocopy จะส่งคืน 1 หากพบไฟล์ใหม่ มันคุ้มค่าที่จะพูดถึงว่า robocopy จะเปรียบเทียบ Source / Dest ก่อนและคัดลอกเฉพาะไฟล์ที่อัพเดท / ใหม่

เพื่อหลีกเลี่ยงการใช้งานนี้:

(robocopy "$(SolutionDir)Solution Items\References\*.dll" "$(TargetDir)") ^& IF %ERRORLEVEL% LEQ 4 exit /B 0

0

หากคุณอยู่ที่นี่เพราะโครงการของคุณล้มเหลวในการสร้างบนเซิร์ฟเวอร์สร้าง แต่สร้าง "ด้วยตนเอง" ที่ดีบนเครื่อง dev และคุณกำลังทำxcopyเฉพาะสำหรับการดีบักและเลียนแบบสภาพแวดล้อมการผลิตบนเครื่อง dev คุณอาจต้องการดู ในการแก้ปัญหานี้:

https://stackoverflow.com/a/1732478/2279059

คุณเพียงแค่ปิดการโพสต์เหตุการณ์บนสร้างเซิร์ฟเวอร์โดยใช้

msbuild foo.sln /p:PostBuildEvent=

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

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


0

รหัสข้อผิดพลาด 4 อาจหมายถึงสิ่งต่าง ๆ มากมายดังนั้นฉันขอแนะนำให้อ่านคำตอบอื่น ๆ ด้วยจนกว่าคุณจะพบวิธีแก้ปัญหาที่เหมาะกับคุณและคุณเข้าใจว่าทำไมมันถึงใช้งานได้ แก้มัน)

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

msbuild -m:1
msbuild -maxcpucount:1
msbuild

โปรดทราบว่าตรงกันข้ามกับสิ่งที่ถูกกล่าวถึงที่นี่สิ่งนี้จะเกิดขึ้นกับ MSBuild รุ่นล่าสุด (จาก Build Tools สำหรับ Visual Studio 2019)

ทางออกที่ดีที่สุดน่าจะทำให้แน่ใจว่าคุณไม่จำเป็นต้องคัดลอกไฟล์ในขั้นตอนหลังการสร้าง ในบางสถานการณ์คุณสามารถปิดการใช้งานขั้นตอนหลังการสร้างเมื่อสร้างด้วย MSBuild บนเซิร์ฟเวอร์การสร้าง: https://stackoverflow.com/a/55899347/2279059

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