รับ“ ข้อผิดพลาดภายในในตัวประเมินนิพจน์” ในฟังก์ชัน“ เพิ่มนาฬิกา” เมื่อพยายามดีบักรหัสบริการ WCF (MSVS 2013)


114

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

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

ที่นี่ข้อมูล MSVS: Microsoft Visual Studio Professional 2013 เวอร์ชัน 12.0.30110.00 อัปเดต 1 Microsoft .NET Framework เวอร์ชัน 4.5.51641 OS: Windows 8.1


ใน MSVS2012 ทำงานได้ดี (Microsoft Visual Studio Professional 2012 เวอร์ชัน 11.0.61030.00 อัปเดต 4 Microsoft .NET Framework เวอร์ชัน 4.5.51641)
Ceridan

ฉันเห็นข้อความนั้นด้วยและเพิ่งอัปเกรดจากปี 2012 เป็นปี 2013
Gary

ฉันต้องย้อนกลับไปที่ปี 2012 ในปี 2012 มันใช้งานได้โดยไม่มีข้อผิดพลาดและ 2013 ยังคงพังสำหรับฉัน
Ceridan

ยังได้รับข้อผิดพลาดเดียวกันใน VS 2013
zulucoda

คำตอบ:


228

นี่อาจเป็นจุดบกพร่องในเอ็นจิ้นการดีบัก (ที่มีการจัดการ) ใหม่ที่มาพร้อมกับ Visual Studio 2013 ลองเปิดโหมดความเข้ากันได้ที่มีการจัดการ (ซึ่งจะเปลี่ยนเป็นกลไกการดีบักก่อนปี 2013 อย่างมีประสิทธิภาพ) ซึ่งอยู่ภายใต้เครื่องมือ - ตัวเลือก - การดีบัก :

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

@bjhuffineแสดงความคิดเห็นด้านล่างว่ามีวิธีอื่นในการเปิดใช้งานโหมดความเข้ากันได้โดยไม่ต้องปิดการใช้งานแบบทั่วโลก (เช่นต่อโปรเจ็กต์) ข้อมูลเพิ่มเติมที่นี่: https://devblogs.microsoft.com/devops/switching-to-managed-compatibility-mode-in-visual-studio-2013/


7
สิ่งนี้แก้ไขปัญหาเดียวกันของฉันกับ Visual Studio 2015 CTP 6
Chris Schiffhauer

1
การกำหนดค่านี้ช่วยแก้ปัญหาได้ แต่เครื่องมือวินิจฉัยหยุดทำงาน
Xepe

6
สิ่งนี้แก้ไขปัญหาเดียวกันของฉันใน Visual Studio 2015 RTM (และปิดใช้งานเครื่องมือวินิจฉัยใหม่) แต่ฉันไม่เคยมีปัญหานี้ใน Visual Studio 2013 ฉันจะต้องทดสอบสิ่งนี้ในคอมพิวเตอร์ที่บ้านของฉันและเปรียบเทียบ
ahwm

2
คุณเป็นอัจฉริยะเพื่อนของฉัน! ฉันยังพบสิ่งนี้ซึ่งไม่เพียง แต่เพิ่มคำอธิบายเพิ่มเติม แต่ยังแสดงวิธีอื่น ๆ ในการดำเนินการนี้หากคุณไม่ต้องการให้เกิดการเปลี่ยนแปลงทั่วโลก blogs.msdn.com/b/visualstudioalm/archive/2013/10/16/…
bjhuffine

11
เพียงเพื่อเพิ่ม; หากตัวเลือกเหล่านี้เป็นสีเทาคุณต้องหยุดการดีบัก;)
Radderz

13

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


2

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

ฉันแก้ไขปัญหาโดยการเพิ่มรายการอื่น ๆ จากภายในส่วนย่อยหรือฟังก์ชันและไม่มีข้อผิดพลาดอีก


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

0

คำตอบของ Michael Freidgeim ช่วยแก้ปัญหาของฉัน แต่ฉันต้องการเพิ่มรายละเอียดเพิ่มเติมเกี่ยวกับสาเหตุของปัญหาของฉัน เกี่ยวข้องกับคำถามของผู้ถามเพียงเล็กน้อย แต่ข้อผิดพลาดของเขาทำให้เข้าใจผิดอย่างมาก

เราใช้ Telerik ควบคุม RadGrid กับ GridDateTimeColumn's คุณสมบัติ MinDate บนกริดเหล่านี้มีค่าเริ่มต้นเป็น 01/01/1980 ดังนั้นหากคุณผูกวันที่กับคอลัมน์นี้ที่น้อยกว่านั้นคุณจะเห็นข้อผิดพลาดนี้ สิ่งที่แปลกคือการเชื่อมโยงและการแสดงต้นฉบับไม่ได้ทำให้เกิดปัญหา แต่เมื่อไปที่หน้าอื่นที่เกิดข้อผิดพลาด

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