Visual Studio 2010 ไม่ได้สร้างขึ้นก่อนการรันเมื่อมีการเปลี่ยนแปลงโค้ด


126

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


1
ฉันมีปัญหาเดียวกัน มันเกิดขึ้นจากวันหนึ่งถึงวันถัดไปและฉันไม่ได้เปลี่ยนแปลงอะไรเลยในกล่องโต้ตอบตัวเลือก คำตอบของ Hans ช่วยแก้ปัญหาของฉันได้
jbe

ฉันเพิ่งพบสิ่งนี้เมื่อไม่นานมานี้โพสต์รายงานข้อผิดพลาดไปยัง msft connect ให้เสียงโหวตของคุณเพื่อหวังว่าจะทำให้พวกเขาแก้ไขได้connect.microsoft.com/VisualStudio/feedback/details/626414/…
Jason

คำตอบ:


164

เครื่องมือ + ตัวเลือกโครงการและโซลูชันสร้างและเรียกใช้ "On Run เมื่อโครงการล้าสมัย" = สร้างเสมอ อันล่าง = ห้ามเปิด.


7
เพิ่งตรวจสอบและตั้งค่าเป็น Always Build ... ดังนั้นจึงไม่ควรทำเช่นนี้
jamone

5
ทำงานบนเครื่องของฉัน ใช้ในการทำงานกับคุณ รีบูตเป็นครั้งต่อไป
Hans Passant

3
การรีบูตไม่ได้แก้ไข แต่เปลี่ยน "On Run เมื่อโปรเจ็กต์ล้าสมัย" = สร้างเป็นอย่าเปิดการบันทึก / ออกจาก VS จากนั้นเปลี่ยนกลับแก้ไข
jamone

3
นั่นคือจุดบกพร่อง ต้องการส่งไปที่ connect.microsoft.com หรือไม่
Hans Passant

1
@ ฮันส์: แน่นอนคุณทำแบบนี้ได้อย่างไร? การโน้มน้าวผู้คนที่ microsoft connect ว่าปัญหานี้เป็นเรื่องที่เป็นไปไม่ได้เลยนอกจากจะทำซ้ำได้ ซึ่งก็สมเหตุสมผลแล้วราวกับว่าคุณทำไม่ได้แล้วโอกาสที่นักพัฒนาจะทำไม่ได้
NotMe

119

ฉันประสบปัญหานี้และกลายเป็นเครื่องมือจัดการการกำหนดค่า ฉันเพิ่งเปลี่ยนจาก Debug | Mixed CPU เป็น Debug | CPU ใด ๆ และโครงการไม่ได้ถูกตั้งค่าให้สร้างภายใต้การกำหนดค่านี้


สิ่งนี้ช่วยแก้ปัญหาให้ฉันได้เช่นกัน - ดูเหมือนว่าจะเป็นสาเหตุของปัญหานั้น
gstercken

3
เคล็ดลับดีๆ! ไม่ใช่สิ่งที่คุณคิด ขอบคุณ
Almund

1
ใช่สิ่งนี้แก้ไขให้ฉันแล้ว! เพียงคลิกช่องทำเครื่องหมายทั้งหมดที่อยู่ถัดจากบิลด์ในตัวจัดการการกำหนดค่า ขอบคุณทิม!
Chaz

แก้ไขปัญหาที่คล้ายกันให้ฉันด้วย ขอบคุณ!
Austin Thompson

1
ปัญหาของฉันคือเลือกการกำหนดค่าผิด! ฉันมีโครงการแยกต่างหากซึ่งการกำหนดค่าแต่ละรายการเป็นภาษาที่แตกต่างกันและคำสั่งผสมถูกตั้งค่าเป็นหนึ่งในการกำหนดค่าเหล่านี้ เพิ่งเปลี่ยนเป็น Debug_Unicode และตอนนี้กำลังสร้าง!
sergiol

22

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


ขอบคุณช่วยฉัน ฉันมองข้ามตัวเลือกไปแล้ว ;)
Skalli

17

นอกเหนือจากข้างต้นตรวจสอบให้แน่ใจว่าไม่ได้เลือก 'เฉพาะสร้างโครงการเริ่มต้นและการอ้างอิงเมื่อทำงาน' (ในเครื่องมือ -> ตัวเลือก -> โครงการและโซลูชัน -> สร้างและเรียกใช้)


1
ฉันมีปัญหานั้นและนี่คือทางออก ขอบคุณ
Roberto Luis Bisbé

1
สิ่งนี้ได้รับการแก้ไขสำหรับฉัน แต่ดูเหมือนว่าจะเป็นข้อบกพร่อง โครงการดังกล่าวเป็นโครงการที่ต้องพึ่งพาและควรสร้างขึ้น
KingOfHypocrites

นี่เป็นการตั้งค่าที่น่ากลัวหากคุณมีโครงการเริ่มต้นมากกว่าหนึ่งโครงการหรือโครงการทดสอบใด ๆ
cbp

ขอบคุณ!! Microsoft ควรเปลี่ยนคำใหม่และแก้ไขให้มีความหมาย มันไม่ชัดเจนสำหรับฉันว่าจะทำอย่างไรเมื่อมีการตรวจสอบ
Cameron

10

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


3

ในขณะนี้ฉันรู้สึกสับสนว่าทำไมแล็ปท็อปของฉัน (2 คอร์ 2 กิกะเฮิร์ตซ์, แรม 2Gb) คอมไพล์เว็บไซต์ของฉันเร็วกว่าเดสก์ท็อปของฉัน (quad core 3ghz พร้อม 16Gb ram) ทั้งสองมีดิสก์ SSD ตัวเลือกการสร้างทั้งหมดตั้งค่าไว้อย่างถูกต้อง (เหมือนกันจำนวนคอร์ = โครงสร้างแบบขนาน) แต่แล็ปท็อปเรียกใช้ไซต์ในไม่กี่วินาทีและ dekstop เรียกใช้ไซต์ในเวลาประมาณ 30 วินาที

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

อาจช่วยใครบางคนได้ในอนาคตดังนั้นฉันจึงคิดว่าจะเพิ่มในโพสต์นี้


2

อีกจุดหนึ่งที่ต้องตรวจสอบอยู่ภายใต้โซลูชันหน้าคุณสมบัติ -> คุณสมบัติการกำหนดค่า -> การกำหนดค่า: ตรวจสอบให้แน่ใจว่าช่องทำเครื่องหมายทั้งหมดในคอลัมน์สร้างถูกตรวจสอบสำหรับโครงการที่คุณต้องปฏิบัติตามอีกครั้ง


1

ฉันลองใช้วิธีแก้ปัญหาก่อนหน้านี้พร้อมผลลัพธ์ที่หลากหลาย แต่ดูเหมือนว่าจะใช้ได้ผลสำหรับฉันทุกครั้งที่ฉันไปที่ Build -> Clean Solution

แต่มันน่ารำคาญที่ต้องทำแบบนั้นทุก ๆ ครั้ง


1

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

ขวาแฟ้มโซลูชันคลิกในการแก้ปัญหาสำรวจ -> คลิกคุณสมบัติในเมนูบริบท -> เลือกการกำหนดค่าคุณสมบัติของโหนดในบานหน้าต่างด้านซ้าย -> เลือกการกำหนดค่าโหนด จะแสดงรายการโครงการทั้งหมดในโซลูชัน LearnDs โปรเจ็กต์แรกคือโปรเจ็กต์ C ++ สังเกตกล่องกาเครื่องหมายในคอลัมน์การสร้างในแถวแรก มันไม่ถูกเลือก นี่เป็นสาเหตุที่ Visual Studio 2010 ไม่สร้างโครงการ C ++ ของฉัน (เมื่อกด F5) ซึ่งมีการเปลี่ยนแปลงบางอย่างเนื่องจากสร้างสำเร็จครั้งล่าสุด

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

ทันทีที่ฉันตรวจสอบช่องทำเครื่องหมายที่เกี่ยวข้องและบันทึกการตั้งค่าการกำหนดค่าการสร้างสำหรับโซลูชันมันก็ใช้งานได้ ตอนนี้ฉันเห็นข้อความแจ้งด้านล่างเมื่อใดก็ตามที่ฉันกด F5 เนื่องจาก VS สามารถตรวจจับได้ว่ามีการเปลี่ยนแปลงใหม่ ๆ ตั้งแต่สร้างครั้งล่าสุด พรอมต์นี้เป็นเพราะการตั้งค่าของฉันในเมนู Tools -> ตัวเลือกเมนูย่อย -> โครงการและโซลูชั่นโหนด -> สร้างและเรียกใช้โหนด -> "ในการเรียกใช้เมื่อโครงการจากวันที่" Prompt to buildตั้งค่าเป็น Always buildในกรณีที่คุณไม่ชอบพร้อมท์นี้แล้วตั้งค่าให้

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


1

เครื่องมือ -> ตัวเลือก -> โครงการและแนวทางแก้ไข

  1. ตั้งค่าเป็น Always build / Prompt to Build สำหรับ "On Run โปรเจ็กต์ล้าสมัย"
  2. ยกเลิกการเลือกช่องทำเครื่องหมาย "สร้างเฉพาะโครงการเริ่มต้นและการอ้างอิงในการเรียกใช้"

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