ข้อผิดพลาด: ไม่สามารถเข้าถึงไฟล์ bin / Debug / …เนื่องจากกำลังใช้งานโดยกระบวนการอื่น


113

เมื่อฉันดีบักโครงการของฉันฉันได้รับข้อผิดพลาดดังต่อไปนี้:

"ไม่สามารถคัดลอกไฟล์" obj \ Debug \ My Dream.exe "ไปยัง" bin \ Debug \ My Dream.exe "กระบวนการนี้ไม่สามารถเข้าถึงไฟล์" bin \ Debug \ My Dream.exe "ได้เนื่องจากมีการใช้งานโดยผู้อื่น กระบวนการ."

เมื่อใช้ Process Explorer ฉันเห็นว่า MyApplication.exe ไม่ทำงาน แต่กระบวนการของระบบยังคงใช้อยู่แม้ว่าฉันจะหยุดการดีบักไปก่อน เมื่อใดก็ตามที่ฉันเปลี่ยนรหัสและเริ่มการดีบักมันจะเกิดขึ้น หากฉันคัดลอกโปรเจ็กต์ไปยัง USB และดีบักมันจะทำงานได้ตามปกติ

ทำไม? ฉันจะแก้ไขข้อผิดพลาดนี้ได้อย่างไร?

ฉันใช้ Window 7 Professional ด้วย Xp ฉันไม่เคยได้รับข้อผิดพลาดนี้


1
บางครั้ง win7 จะล็อกไฟล์ที่กำลังดูใน explorer ดังนั้นตรวจสอบให้แน่ใจว่าคุณไม่ได้เปิดโฟลเดอร์ดีบักไว้
Necrolis

ฉันคิดว่ากระบวนการของระบบใช้มัน
Trần Minh

1
มันเป็นทั้งการล็อกหรือการเพิ่ม / bin ลงในตัวควบคุมแหล่งที่มาและตอนนี้ไฟล์ได้รับการป้องกันการเขียนแล้ว (คลิกขวาที่ bin ยกเลิกการเลือกป้องกันการเขียน)
Stefan Steiger

3
สิ่งนี้แย่กว่าใน Visual Studio 2017 กว่าที่เคยเป็นมา
Rob Lyndon

1
ในกรณีของฉันMSBuild.exeถูกระงับไฟล์เพียงแค่สิ้นสุดกระบวนการในตัวจัดการงาน
ปิแอร์

คำตอบ:


121

ฮึนี่เป็นปัญหาเก่าซึ่งยังคงปรากฏขึ้นใน Visual Studio นาน ๆ ครั้ง มันกัดฉันสองสามครั้งและฉันเสียเวลาไปหลายชั่วโมงในการรีสตาร์ทและต่อสู้กับ VS ฉันแน่ใจว่ามีการพูดถึงที่นี่ใน SO มากกว่าหนึ่งครั้ง นอกจากนี้ยังมีการพูดคุยเกี่ยวกับฟอรัม MSDN ไม่มีวิธีแก้ปัญหาที่แท้จริง แต่มีวิธีแก้ปัญหาสองสามวิธี เริ่มต้นการวิจัยที่นี่

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

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

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

ฉันคิดว่าสิ่งนี้ใช้กับ WPF ด้วยแม้ว่าฉันจะไม่ได้ใช้มันและไม่ได้ประสบปัญหาเป็นการส่วนตัว

ฉันยังไม่ได้ลองทำซ้ำบน VS 2012 RC ฉันไม่รู้ว่ามันได้รับการแก้ไขแล้วหรือยัง แต่ประสบการณ์ของฉันจนถึงตอนนี้ก็ยังคงปรากฏขึ้นแม้ว่า Microsoft จะอ้างว่าได้แก้ไขแล้วก็ตาม ยังคงมีอยู่ใน VS 2010 SP1 ฉันไม่ได้บอกว่าโปรแกรมเมอร์ของพวกเขาเป็นคนงี่เง่าที่ไม่รู้ว่ากำลังทำอะไรอยู่ ฉันคิดว่ามีสาเหตุหลายประการสำหรับข้อบกพร่องและ / หรือการทำซ้ำอย่างน่าเชื่อถือในห้องปฏิบัติการทำได้ยากมาก นั่นเป็นเหตุผลเดียวกับที่ฉันไม่ได้ยื่นรายงานข้อผิดพลาดใด ๆ เป็นการส่วนตัว (แม้ว่าฉันจะ +1 คนอื่น ๆ ) เพราะดูเหมือนว่าฉันไม่สามารถสร้างซ้ำได้อย่างน่าเชื่อถือแทนที่จะเป็นเหมือน Snowman ที่น่ารังเกียจ

<จบการพูดจาโผงผางที่มุ่งตรงไปที่ใครโดยเฉพาะ>


1
สิ่งนี้ยังคงเกิดขึ้น (สำหรับฉัน) ใน VS2013 มันมักจะเป็นไฟล์ PDB สำหรับโปรเจ็กต์ WPF ในโซลูชันของฉันที่ถูกล็อคในไดเร็กทอรีเป้าหมาย การปิดนักออกแบบทั้งหมดไม่ได้ผล (โห่!) แต่การเปลี่ยนชื่อไฟล์ทำได้ (ขอบคุณ Cody!) แฮ็คยักษ์กวักมือเรียก ...
จอน

2
สิ่งนี้เริ่มเกิดขึ้นกับฉันตั้งแต่เมื่อวานตอนที่ฉันอัปเกรดเป็น vS 2013 ... สิ่งนี้ไม่เคยเกิดขึ้นกับฉันเลยตั้งแต่ VS 2008 ... เศร้ามาก
SomeNickName

8
VS 2015 และฉันยังคงมีปัญหา
Berin Loritsch

13
สิ่งนี้เกิดขึ้นใน Visual Studio 17 และการรีสตาร์ท Visual Studio ไม่ได้ช่วยอะไร
Rob Lyndon

2
@jairhumberto ไม่มีเหตุผลสำหรับความยุ่งเหยิงคอมพิวเตอร์ก็น่าผิดหวังพอสมควรไม่จำเป็นต้องส่งต่อให้คนอื่น .. แต่สิ่งนี้ใช้ได้กับฉันสำหรับปัญหาเฉพาะนี้บางทีคุณอาจมีบางอย่างที่แตกต่างออกไป! ดู: stackoverflow.com/a/19649014/27494
ScottN

64

ฉันเคยมีข้อผิดพลาดนี้เกิดขึ้นกับฉันมาก่อนแม้กระทั่งใน Visual Studio 2008 มันกลับมาและแพร่หลายมากขึ้นใน Visual Studio 2012

นี่คือสิ่งที่ฉันทำ

วางสิ่งนี้ในเหตุการณ์ก่อนสร้างของโครงการที่มีปัญหา:

if exist "$(TargetPath).locked" del "$(TargetPath).locked"
if exist "$(TargetPath)" if not exist "$(TargetPath).locked" move "$(TargetPath)" "$(TargetPath).locked"

1
ฉันจะหาPre-Buildเหตุการณ์นั้นได้ที่ไหนในฟอร์ม windows ของฉัน ??
Unknownymous

2
@qwerty พบได้ในคุณสมบัติของโปรเจ็กต์ในส่วน Build Events หรือถ้าคุณอยู่ในโปรเจ็กต์ VB.net ภายใต้ส่วนคอมไพล์คุณจะเห็นปุ่มสร้างเหตุการณ์
ScottN

@ScottN: โอ้ BTW pre-buildรหัสนี้ยังเป็นวิธีการแก้ไขสำหรับแอปพลิเคชั่นที่ปรับใช้ (ผ่าน clickonce) เมื่อแอปของฉันทำงานจากนั้นมีข้อผิดพลาด / ข้อผิดพลาดเกิดขึ้นในตัวจัดการงานฉันจะจบงานของฉันmyApp.exeแต่จะไม่สิ้นสุดงานและจะแจ้งให้ERROR ON ENDING TASKเหรอ?
Unknownymous

@qwerty ไม่สิ่งนี้ไม่มีการเชื่อมโยงกับแอปพลิเคชันที่ปรับใช้ ClickOnce ข้อผิดพลาดนี้เกิดขึ้นเฉพาะเมื่อคุณกำลังสร้างแอปพลิเคชันของคุณในระหว่างการพัฒนาและการทดสอบและเฉพาะใน Visual Studio เท่านั้นไม่ใช่สำหรับแอปพลิเคชันที่ปรับใช้ที่ทำงานบนระบบไคลเอ็นต์
ScottN

อะไร.lockedหมายถึง?
Shimmy Weitzhandler

22

คอมพิวเตอร์ (คลิกขวา) -> จัดการ -> บริการและแอปพลิเคชัน -> บริการ -> เปิดใช้งานประสบการณ์แอปพลิเคชัน

ทำงานให้ฉัน!


2
ฉันได้ปิดใช้งานบริการนี้เมื่อสองสามเดือนก่อน การเปิดใช้งานดูเหมือนจะแก้ปัญหาใน Visual Studio ได้แล้ว (ไม่สามารถคัดลอกได้เนื่องจากไฟล์ exe ถูกล็อค) ฉันสงสัยว่าทำไมต้องใช้บริการนี้สิ่งที่ฉันอ่านดูเหมือนจะไม่เกี่ยวข้องกับสิ่งใดที่เกี่ยวข้องกับข้อผิดพลาดนี้ (เช่นblackviper.com/windows-services/application-experience )
Andreas Jansson

10
ฉันมีบริการนี้ทำงานอยู่ แต่ยังพบปัญหาการล็อก
antfx

1
+1 ว้าวฉันลอง / ทุกอย่าง / อื่น ๆ ที่พบ ในที่สุดก็สะดุดกับสิ่งนี้เพื่อแก้ไข เหมืองถูกปิดใช้งานเช่นกัน คงไม่เคยคิดว่าเป็นผู้ร้าย!
John S.

การเรียกใช้ Windows 7 SP1 ด้วย VS2010 SP1 การเปิดบริการ "Application Experience" ช่วยฉันได้ทันที ขอบคุณมาก. แต่หนึ่งนาทีต่อมาการปิดเครื่องไม่ได้ทำให้เกิดปัญหาขึ้นในทันที
Jimm Chen

7
ไม่พบบริการใน windows 10
JerryGoyal

13

ฉันมีปัญหาเดียวกันใน Visual Studio 2013 ฉันไม่แน่ใจว่าเกิดอะไรขึ้นกับโครงการของฉัน แต่ฉันสามารถแก้ไขได้โดยการทำความสะอาดโซลูชันและสร้างใหม่

  1. สร้าง> โซลูชันที่สะอาด
  2. สร้าง> สร้างโซลูชันใหม่

1
อย่าทดลองใช้กับโครงการขนาดใหญ่ ... การสร้างใหม่ทั้งหมดใช้เวลานานมาก
mBardos

7

อย่างน้อยในกรณีของฉันฉันสังเกตเห็นว่า visual studio 2012 กำลังสร้างกระบวนการโกสต์ msbuild.exe อย่างน้อยสองกระบวนการซึ่งไม่ได้พินาศหลังจากสร้าง เห็นได้ชัดว่าซอมบี้เหล่านี้ทำให้การล็อกไฟล์ปรากฏขึ้น

การฆ่า msbuild.exe เป็นวิธีแก้ปัญหาเพียงครั้งเดียวจำเป็นต้องทำต่อโครงสร้างพื้นฐาน

แต่แล้วฉันก็คิดออกว่าฉันสามารถปิดการใช้งานบิลด์คู่ขนานได้ครั้งแล้วครั้งเล่าโดยไปที่ Tools> Options> Projects and Solutions> Build and Run> "maximum number of parallel project builds" - โดยค่าเริ่มต้นจะมีค่า 8, I เปลี่ยนมาใช้ 1. ใช้งานได้เหมือนมีเสน่ห์

แน่นอนว่าการสร้างช้าลงเล็กน้อยในตอนนี้ แต่ปลอดภัยดีกว่าขออภัย อย่างน้อยสำหรับโปรเจ็กต์เล็ก ๆ นี้ฉันไม่ต้องการเธรดการสร้างมากกว่าหนึ่งเธรด


7

ฉันเข้าใจว่านี่เป็นคำถามเก่า น่าเสียดายที่ฉันประสบปัญหาเดียวกันกับ.net core 2.0แอปพลิเคชันของฉันในvisual studio 2017. ดังนั้นฉันจึงคิดว่าจะแบ่งปันวิธีแก้ปัญหาที่ได้ผลสำหรับฉัน ก่อนการแก้ปัญหานี้ฉันได้ลองทำตามขั้นตอนด้านล่างแล้ว

  1. รีสตาร์ท Visual Studio
  2. ปิดแอปพลิเคชันทั้งหมด
  3. ทำความสะอาดโซลูชันของฉันและสร้างใหม่

ขั้นตอนข้างต้นไม่สามารถแก้ไขปัญหาได้

จากนั้นฉันก็เปิดกระบวนการของฉันTask Managerและที่เลือกdotnetแล้วคลิกปุ่มสิ้นสุดงาน ต่อมาฉันเปิด Visual Studio ของฉันและทุกอย่างก็ทำงานได้ดี

ใส่คำอธิบายภาพที่นี่


2

ดูคำตอบของฉันที่นี่หากคุณกำลังประสบปัญหานี้ขณะทำการทดสอบหน่วย คัดลอกคำตอบด้านล่าง:

จากคำตอบของSébastienฉันได้เพิ่มขั้นตอนก่อนสร้างในโครงการทดสอบของฉันเพื่อฆ่าvstest.*ไฟล์ปฏิบัติการที่ยังทำงานอยู่โดยอัตโนมัติ คำสั่ง pre-build ต่อไปนี้ใช้ได้ผลสำหรับฉัน:

taskkill /f /im vstest.*
exit 0

exit 0คำสั่งเป็นที่สิ้นสุดเพื่อป้องกันไม่ให้สร้างความล้มเหลวเมื่อไม่มีvstest.*executables ทำงาน


1

เมื่อเร็ว ๆ นี้ฉันประสบปัญหากับ Visual Studio 2012 ที่มีคำอธิบายข้อผิดพลาดเดียวกัน: "กระบวนการไม่สามารถเข้าถึงไฟล์ได้เนื่องจากกระบวนการอื่นใช้ ... "

ในการแก้ไขปัญหานี้ก่อนอื่นคุณต้องเข้าใจแอปพลิเคชันที่ยังใช้งานได้ ฉันได้ปิดกระบวนการทั้งหมดเช่น "MSBuild" และ "MSBuild host" แต่แค่นี้ยังไม่พอ หากคุณได้ติดตั้ง "สัญญารหัส" และเปิดใช้งานบางครั้งอาจต้องใช้ DLL ของคุณในการตรวจสอบและวางสายการดำเนินการนี้

ดังนั้นคุณต้องหยุดกระบวนการทั้งหมดของ "CCCheck.exe" และนั่นคือทั้งหมด

สุดท้ายเพื่อให้เข้าใจว่ากระบวนการนี้กำลังใช้ DLL ของคุณคุณอาจพยายามเพียงแค่ลบโฟลเดอร์ "obj" ในตัวจัดการไฟล์ของคุณและการดำเนินการนี้จะล้มเหลวคุณอาจเห็น "หน้าต่างข้อความ" พร้อมคำอธิบายของการดำเนินการที่แขวนอยู่ นอกจากนี้คุณยังสามารถลองใช้แอปพลิเคชัน "Sys Internals Suite" ได้อีกด้วย


อย่างน้อยในกรณีของฉันฉันสังเกตเห็นว่า Visual Studio กำลังสร้างกระบวนการโกสต์ msbuild.exe ซึ่งไม่ได้พินาศหลังจากสร้าง เห็นได้ชัดว่าซอมบี้เหล่านี้ทำให้การล็อกไฟล์ปรากฏขึ้น แต่ไม่มีเงื่อนงำวิธีแก้ การฆ่า msbuild.exe เป็นวิธีแก้ปัญหาเพียงครั้งเดียวจำเป็นต้องทำต่อโครงสร้างพื้นฐาน
TarmoPikaro

1

ทำงานให้ฉัน ตัวจัดการงาน -> ชื่อโครงการ -> สิ้นสุดงาน (ฉันมี 3 กระบวนการเดียวกันกับชื่อโครงการของฉัน);

VS 2013; ชนะ 8;


1

ตรวจสอบให้แน่ใจว่าการเรียกใช้แอปพลิเคชันก่อนหน้านี้ (เช่นเริ่มโดยไม่มีตัวเลือกการดีบัก) หยุดทำงานจริง ฉันกำลังทำงานกับแอปพลิเคชัน WPF เริ่มต้นโดยไม่ต้องดีบักและลดขนาดลงเมื่อฉันได้รับข้อผิดพลาด หลังจากปิดแอปพลิเคชันแล้วพฤติกรรม VS กลับมาเป็นปกติ


1

ฉันได้รับผลกระทบจากปัญหานี้ใน Visual Studio 2017 มันเริ่มเมื่อประมาณสองหรือสามสัปดาห์ที่แล้วและได้กินผลงานของฉันอย่างรุนแรง Clean และ Rebulid ไม่ทำงาน แม้แต่การรีสตาร์ทเครื่องของฉันก็ไม่ทำงาน

วิธีหนึ่งในการจัดการกับปัญหาคือการทำความสะอาดแอสเซมบลีที่กระทำผิดและสร้างโปรเจ็กต์ที่คุณต้องการเรียกใช้ทันทีหลังจากนั้น ซึ่งใช้ได้ผลประมาณ 30% ของเวลา

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



1

taskmanagerวิ่ง
ค้นหาnetcoreและลบมัน จากนั้นคุณสามารถลบไฟล์ด้วยตนเองหรือโดยการทำงาน
Clean


0

นี่เป็นการคาดเดาที่บริสุทธิ์ไม่ใช่คำตอบ

อย่างไรก็ตามฉันมีปัญหานี้มาระยะหนึ่งแล้ว

หลังจากนั้นไม่นานฉันก็สงสัยว่ามีปฏิสัมพันธ์ระหว่าง VS กับข้อควรระวัง AV ของฉัน

หลังจากเล่นไปแล้วดูเหมือนว่ามันอาจจะหายไปเมื่อฉันแก้ไขโปรแกรมป้องกันไวรัสเพื่อให้ทุกอย่างอยู่ภายใต้ไฟล์

C: \ Users [ชื่อผู้ใช้] \ AppData \ Local \ Microsoft \ VisualStudio \ 10.0 \ ProjectAssemblies

โฟลเดอร์ไม่รวมอยู่ในการป้องกันแบบเรียลไทม์

ดูเหมือนว่าบิลด์จะเขียน DLL ที่นี่ก่อนจากนั้นคัดลอกไปยังตำแหน่งบิลด์สุดท้าย


0

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


0

ฉันพบวิธีที่เร็วที่สุดโดยไม่ต้องปิดฟอร์มหรือรีสตาร์ท VisualStudio คือไปที่หน้าคอมไพล์ของโปรเจ็กต์แล้วคลิกปุ่ม "ตัวเลือกการคอมไพล์ขั้นสูง ... " จากนั้นทำการเปลี่ยนแปลงตัวเลือกใดตัวเลือกหนึ่ง (เช่นเปลี่ยน Generate Debug Info จาก Full เป็น pdb-only) จากนั้นคลิก OK มันใช้งานได้ทุกครั้งและจะต้องทำจนกว่า MS จะแก้ไขข้อบกพร่องนี้ (ฉันไม่เคยมีปัญหานี้จนกว่าฉันจะเปลี่ยนจาก VS2012 เป็น VS2013)

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


0

ฉันลองทำตามคำแนะนำเหล่านี้รวมทั้งคำแนะนำอื่น ๆ ที่พบในที่อื่นและสิ่งเดียวที่ใช้ได้ผลสำหรับฉันคือรีสตาร์ทคอมพิวเตอร์ จากนั้นฉันก็ทำการแก้ไขตามด้วยการสร้างใหม่ ฉันใช้ Visual Studio 2013 สำหรับการอ้างอิง


0

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

ฉันมักจะเรียกใช้แอปพลิเคชันของฉัน

  • ผ่าน exe หรือ
  • ทำงานโดยไม่ต้องแก้จุดบกพร่อง

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



0

[แก้ไขแล้ว] ข้อผิดพลาด: ไม่สามารถเข้าถึง file bin / Debug / …เนื่องจากถูกใช้โดยกระบวนการอื่น:

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

โดยทั่วไปคุณต้องปิดฟอร์มแรกของคุณซึ่งทำงานอยู่เบื้องหลังและเหตุผลหลักที่อยู่เบื้องหลังข้อผิดพลาดนี้

ในการปิดฟอร์มแรกคุณต้องเพิ่มโค้ดสองบรรทัดนี้ในตัวจัดการเหตุการณ์โหลดฟอร์มที่สอง

    Form1 form = new Form1();
    form.Close();

วิธีนี้จะแก้ไขข้อผิดพลาดได้อย่างสมบูรณ์แบบ


0

วิธีง่ายๆอย่างหนึ่งคือคุณไปที่โฟลเดอร์ bin \ Debug ลบไฟล์ทั้งหมดในโฟลเดอร์นั้นแล้วสร้างใหม่ หากไม่ได้ผลให้ปิด Visual Studio จากนั้นไปที่โฟลเดอร์ bin \ Debug โดยใช้ file explorer ทางด้านซ้ายให้คลิกที่ File> Open Command Prompt> Open Command Prompt as Administrator> ป้อนคำสั่งนี้ "DEL / F / Q / A * "> แล้วสร้างใหม่


0

ฉันพบว่าคำตอบของ Cody Grey มีประโยชน์บางส่วนซึ่งมันช่วยนำทางฉันไปยังแหล่งที่มาที่แท้จริงของปัญหาของฉันซึ่งคุณบางคนอาจกำลังประสบอยู่ด้วย: การดำเนินการทดสอบของ Visual Studio จะยังคงเปิดอยู่ตามค่าเริ่มต้นและรักษาการล็อกไฟล์ไว้

หากต้องการหยุดพฤติกรรมที่ไร้ประโยชน์ส่วนใหญ่ให้ทำตามคำแนะนำจากhttps://connect.microsoft.com/VisualStudio/feedback/details/771994/vstest-executionengine-x86-exe-32-bit-not-closing-vs2012-11-0 -50727-1-rtmrel

ยกเลิกการเลือกเมนูทดสอบ -> การตั้งค่าการทดสอบ -> "ให้ Test Execution Engine ทำงาน"


0

ปัญหาของฉันคือดอทเน็ตถูกวางสายและเมื่อใดก็ตามที่ VS พยายามสร้าง dll ใหม่หรือเข้าถึงอันเก่ากระบวนการดอทเน็ตจะยึดเข้ากับ dll และหยุดวิชวลสตูดิโอจากการโคลน dll วิธีแก้ปัญหาเป็นเพียงการสิ้นสุดงาน dotnet ทั้งหมดในตัวจัดการงาน (มันจะลบสิ่งที่ตายไปแล้วเท่านั้นหากคุณพยายามที่จะสิ้นสุดหนึ่งและมันจะไม่ปิดลงนั่นหมายความว่ามันใช้งานได้)


0

ปิด VisualStudio, ctrl-alt-delete เลือกตัวจัดการงานค้นหาและสิ้นสุดกระบวนการ MSBuild ทั้งหมด - VisualStudio โดยทั่วไปมีข้อผิดพลาดค่อนข้างรุนแรงซึ่งจะสูญเสียการควบคุมดีบักเกอร์และดีบักเกอร์จะล็อกไฟล์. pdb ในการดีบัก / bin โฟลเดอร์ หลังจากที่คุณสิ้นสุดกระบวนการ MSBuild (ดีบักเกอร์) ทั้งหมดแล้วให้ลบโฟลเดอร์ / debug / bin และเปิดโซลูชันของคุณอีกครั้งใน Visual Studio คุณพร้อมที่จะไปแล้ว Microsoft ต้องแก้ไขเรื่องไร้สาระนี้


0

ฉันได้เปิดคำถามแยกต่างหากเกี่ยวกับ VS 2017 ที่มีพฤติกรรมคล้ายกันหลังจากการอัปเดตหนึ่งครั้ง ปัญหาดูเหมือนจะสร้างขึ้นโดยโปรแกรมป้องกันไวรัสแม้ว่า

ฉันได้เพิ่มโฟลเดอร์ bin ในรายการยกเว้นโปรแกรมป้องกันไวรัสรีสตาร์ทเครื่องและตอนนี้ดูเหมือนว่าจะใช้งานได้


0

ฉันแก้ปัญหานี้แล้ว ..

ใกล้กับการแก้ไขข้อบกพร่องคุณจะเห็นเมนูแบบเลื่อนลงพร้อมการกำหนดค่าบางอย่าง ค่าเริ่มต้นคือ CPU ใด ๆ เลือก x86 และรันโปรแกรมมันจะทำงาน ถ้า x86 ไม่มีให้ไปที่ configuration manager แล้วเพิ่ม x86


-1

อีกเรื่องหนึ่งเอ่อ แต่มันง่ายและเหมาะกับฉันใน VS 2013 คลิกที่โครงการ ในแผงคุณสมบัติควรเป็นรายการชื่อไฟล์โครงการที่มีค่า

(ชื่อโครงการของคุณ) .vbproj

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

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