ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้
ลงชื่อเข้าใช้ด้วย Microsoft
ลงชื่อเข้าใช้หรือสร้างบัญชี
สวัสดี
เลือกบัญชีอื่น
คุณมีหลายบัญชี
เลือกบัญชีที่คุณต้องการลงชื่อเข้าใช้

อาการ

บนคอมพิวเตอร์ที่กำลังเรียกใช้การ Microsoft .NET Framework 3.5 Service Pack 1 (SP1), คอมไพเลอร์เพิ่ง--เวลา (JIT) และแบบดั้งเดิมรูปตัวสร้าง (Ngen.exe) ที่ใช้แฟ้ม Mscorjit.dll อาจสร้างรหัสไม่ถูกต้อง ดังนั้น แอพลิเคชันการจัดการ c ++ 32 บิตอาจก่อให้เกิดผลลัพธ์ที่ไม่ถูกต้อง

ปัญหานี้เกิดขึ้นหากมีเงื่อนไขต่อไปนี้:

  • โครงสร้างหรือคลาสในรหัสแหล่งมาได้น้อยกว่าแบบสเกลาที่สี่และไม่มีข้อมูลอ้างอิงของวัตถุที่มีการจัดการ

  • คุณใช้คำสั่ง Cpblk หรือคำสั่ง Initblk

หมายเหตุ ปัญหานี้เกิดขึ้นในโปรแกรมประยุกต์ 64 บิต

สาเหตุ

ปัญหานี้เกิดขึ้นเนื่องจากการถดถอยในแบบ SP1 .NET Framework 3.5

การแก้ปัญหา

ข้อมูลโปรแกรมแก้ไขด่วน

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

หากต้องการดาวน์โหลดโปรแกรมแก้ไขด่วนนี้จากแกลเลอรีรหัส MSDN ให้ไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:

http://code.msdn.microsoft.com/KB957542
หมายเหตุ แกลเลอรีรหัส MSDN แสดงภาษาซึ่งโปรแกรมแก้ไขด่วนพร้อมใช้งานสำหรับภาษานั้น ถ้าคุณไม่เห็นภาษาของคุณปรากฏ อาจเป็น เพราะหน้าแกลเลอรีของรหัสทรัพยากรจะไม่พร้อมใช้งานสำหรับภาษานั้น


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

http://support.microsoft.com/contactus/?ws=supportหมายเหตุ ถ้าคุณมีโปรแกรมประยุกต์แบบ 32 บิตที่ทำงานบนแพลตฟอร์มแบบ 64 บิต ใช้โปรแกรมแก้ไขด่วนสำหรับรุ่น 64 บิตเพื่อแก้ไขปัญหานี้

ข้อกำหนดเบื้องต้น

คุณต้องมีการ.NET Framework 3.5 ติดตั้ง SP1 เมื่อต้องการใช้โปรแกรมแก้ไขด่วนนี้

ข้อกำหนดการรีสตาร์ท

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

ข้อมูลการแทนที่โปรแกรมแก้ไขด่วน

โปรแกรมแก้ไขด่วนนี้ไม่ได้แทนโปรแกรมแก้ไขด่วนอื่น ๆ

ข้อมูลแฟ้ม

เวอร์ชันภาษาอังกฤษของโปรแกรมแก้ไขด่วนนี้มีแอตทริบิวต์ของแฟ้ม (หรือแอตทริบิวต์ของแฟ้มที่ใหม่กว่านี้) ซึ่งแสดงรายการไว้ในตารางต่อไปนี้ วันที่และเวลาสำหรับแฟ้มเหล่านี้จะแสดงรายการไว้ในรูปแบบเวลามาตรฐานสากล (UTC) เมื่อคุณดูข้อมูลแฟ้ม ระบบจะแปลงข้อมูลนี้เป็นเวลาท้องถิ่น เมื่อต้องการค้นหาความแตกต่างระหว่างเวลา UTC กับเวลาท้องถิ่น ใช้แท็บ โซนเวลา ในรายการ วันที่และเวลา ในแผงควบคุม

Windows 2000, Windows XP และ Windows Server 2003, x86 รุ่น

ชื่อแฟ้ม

รุ่นของแฟ้ม

ขนาดของแฟ้ม

วันที่

เวลา

Mscordacwks.dll

2.0.50727.3068

992,264

16-Sep-2008

13:13

Mscorjit.dll

2.0.50727.3068

367,104

16-Sep-2008

13:13

Mscorlib.dll

2.0.50727.3068

4,546,560

16-Sep-2008

13:13

Mscorwks.dll

2.0.50727.3068

5,815,808

16-Sep-2008

13:13

Windows 2000, Windows XP และ Windows Server 2003, x64 รุ่น

ชื่อแฟ้ม

รุ่นของแฟ้ม

ขนาดของแฟ้ม

วันที่

เวลา

แพลตฟอร์ม

Mscordacwks.dll

2.0.50727.3068

992,264

16-Sep-2008

13:13

x86

Mscorjit.dll

2.0.50727.3068

367,104

16-Sep-2008

13:13

x86

Mscorlib.dll

2.0.50727.3068

4,546,560

16-Sep-2008

13:13

x86

Mscorwks.dll

2.0.50727.3068

5,815,808

16-Sep-2008

13:13

x86

Mscordacwks.dll

2.0.50727.3068

1,767,944

16-Sep-2008

10:33

x64

Mscorjit.dll

2.0.50727.3068

1,580,032

16-Sep-2008

10:33

x64

Mscorlib.dll

2.0.50727.3068

4,562,944

16-Sep-2008

10:33

x64

Mscorwks.dll

2.0.50727.3068

10,079,744

16-Sep-2008

10:33

x64

Windows 2000, Windows XP และ Windows Server 2003 รุ่น IA 64

ชื่อแฟ้ม

รุ่นของแฟ้ม

ขนาดของแฟ้ม

วันที่

เวลา

แพลตฟอร์ม

Mscordacwks.dll

2.0.50727.3068

992,264

16-Sep-2008

13:13

x86

Mscorjit.dll

2.0.50727.3068

367,104

16-Sep-2008

13:13

x86

Mscorlib.dll

2.0.50727.3068

4,546,560

16-Sep-2008

13:13

x86

Mscorwks.dll

2.0.50727.3068

5,815,808

16-Sep-2008

13:13

x86

Mscordacwks.dll

2.0.50727.3068

3,087,880

16-Sep-2008

10:44

IA-64

Mscorjit.dll

2.0.50727.3068

2,560,512

16-Sep-2008

10:44

IA-64

Mscorlib.dll

2.0.50727.3068

4,005,888

16-Sep-2008

10:44

IA-64

Mscorwks.dll

2.0.50727.3068

20,153,856

16-Sep-2008

10:44

IA-64

Windows Vista Service Pack 1 (SP1) และ Windows Server 2008, x86 รุ่น

ชื่อแฟ้ม

รุ่นของแฟ้ม

ขนาดของแฟ้ม

วันที่

เวลา

แพลตฟอร์ม

Mscorlib.resources.dll

2.0.50727.3053

352,256

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

303,104

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

299,008

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

315,392

27-Jul-2008

17:58

x86

Mscorlib.resources.dll

2.0.50727.3053

425,984

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

307,200

27-Jul-2008

17:58

x86

Mscorlib.resources.dll

2.0.50727.3053

299,008

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

311,296

27-Jul-2008

17:58

x86

Mscorlib.resources.dll

2.0.50727.3053

331,776

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

315,392

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

307,200

27-Jul-2008

17:55

x86

Mscorlib.resources.dll

2.0.50727.3053

348,160

27-Jul-2008

17:58

x86

Mscorlib.resources.dll

2.0.50727.3053

319,488

27-Jul-2008

17:55

x86

Mscorlib.resources.dll

2.0.50727.3053

290,816

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

303,104

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

311,296

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

303,104

27-Jul-2008

17:55

x86

Mscorlib.resources.dll

2.0.50727.3053

307,200

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.1434

397,312

11-Jan-2008

22:59

x86

Mscorlib.resources.dll

2.0.50727.3053

299,008

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

299,008

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

278,528

27-Jul-2008

17:55

x86

Mscorlib.resources.dll

2.0.50727.3053

278,528

27-Jul-2008

17:55

x86

Big5.nlp

ไม่มีข้อมูล

66,728

18-Dec-2007

21:03

ไม่มีข้อมูล

Bopomofo.nlp

ไม่มีข้อมูล

82,172

18-Dec-2007

21:03

ไม่มีข้อมูล

Ksc.nlp

ไม่มีข้อมูล

116,756

18-Dec-2007

21:04

ไม่มีข้อมูล

Mscorlib.dll

2.0.50727.3068

4,546,560

01-Oct-2008

22:27

x86

Normidna.nlp

ไม่มีข้อมูล

59,342

18-Dec-2007

21:05

ไม่มีข้อมูล

Normnfc.nlp

ไม่มีข้อมูล

45,794

18-Dec-2007

21:05

ไม่มีข้อมูล

Normnfd.nlp

ไม่มีข้อมูล

39,284

18-Dec-2007

21:05

ไม่มีข้อมูล

Normnfkc.nlp

ไม่มีข้อมูล

66,384

18-Dec-2007

21:05

ไม่มีข้อมูล

Normnfkd.nlp

ไม่มีข้อมูล

60,294

18-Dec-2007

21:05

ไม่มีข้อมูล

Prc.nlp

ไม่มีข้อมูล

83,748

18-Dec-2007

21:05

ไม่มีข้อมูล

Prcp.nlp

ไม่มีข้อมูล

83,748

18-Dec-2007

21:05

ไม่มีข้อมูล

Sortkey.nlp

ไม่มีข้อมูล

262,148

18-Dec-2007

21:05

ไม่มีข้อมูล

Sorttbls.nlp

ไม่มีข้อมูล

20,320

18-Dec-2007

21:05

ไม่มีข้อมูล

Xjis.nlp

ไม่มีข้อมูล

28,288

18-Dec-2007

21:05

ไม่มีข้อมูล

Mscordacwks.dll

2.0.50727.3068

992,264

01-Oct-2008

22:27

x86

Mscorjit.dll

2.0.50727.3068

367,104

24-Sep-2008

22:21

x86

Mscorwks.dll

2.0.50727.3068

5,815,808

01-Oct-2008

22:27

x86

Windows Vista SP1 และ Windows Server 2008, x64 รุ่น

ชื่อแฟ้ม

รุ่นของแฟ้ม

ขนาดของแฟ้ม

วันที่

เวลา

แพลตฟอร์ม

Big5.nlp

ไม่มีข้อมูล

66,728

18-Dec-2007

21:01

ไม่มีข้อมูล

Bopomofo.nlp

ไม่มีข้อมูล

82,172

18-Dec-2007

21:01

ไม่มีข้อมูล

Ksc.nlp

ไม่มีข้อมูล

116,756

18-Dec-2007

21:02

ไม่มีข้อมูล

Mscorlib.dll

2.0.50727.3068

4,562,944

01-Oct-2008

22:25

x64

Normidna.nlp

ไม่มีข้อมูล

59,342

18-Dec-2007

21:03

ไม่มีข้อมูล

Normnfc.nlp

ไม่มีข้อมูล

45,794

18-Dec-2007

21:03

ไม่มีข้อมูล

Normnfd.nlp

ไม่มีข้อมูล

39,284

18-Dec-2007

21:03

ไม่มีข้อมูล

Normnfkc.nlp

ไม่มีข้อมูล

66,384

18-Dec-2007

21:03

ไม่มีข้อมูล

Normnfkd.nlp

ไม่มีข้อมูล

60,294

18-Dec-2007

21:03

ไม่มีข้อมูล

Prc.nlp

ไม่มีข้อมูล

83,748

18-Dec-2007

21:03

ไม่มีข้อมูล

Prcp.nlp

ไม่มีข้อมูล

83,748

18-Dec-2007

21:03

ไม่มีข้อมูล

Sortkey.nlp

ไม่มีข้อมูล

262,148

18-Dec-2007

21:03

ไม่มีข้อมูล

Sorttbls.nlp

ไม่มีข้อมูล

20,320

18-Dec-2007

21:03

ไม่มีข้อมูล

Xjis.nlp

ไม่มีข้อมูล

28,288

18-Dec-2007

21:03

ไม่มีข้อมูล

Mscordacwks.dll

2.0.50727.3068

1,767,944

01-Oct-2008

22:25

x64

Mscorjit.dll

2.0.50727.3068

1,580,032

24-Sep-2008

23:06

x64

Mscorwks.dll

2.0.50727.3068

10,079,744

01-Oct-2008

22:25

x64

Mscorlib.resources.dll

2.0.50727.3053

352,256

15-Sep-2008

22:26

x86

Mscorlib.resources.dll

2.0.50727.3053

303,104

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

299,008

15-Sep-2008

22:26

x86

Mscorlib.resources.dll

2.0.50727.3053

315,392

27-Jul-2008

18:02

x86

Mscorlib.resources.dll

2.0.50727.3053

425,984

15-Sep-2008

22:26

x86

Mscorlib.resources.dll

2.0.50727.3053

307,200

27-Jul-2008

18:02

x86

Mscorlib.resources.dll

2.0.50727.3053

299,008

15-Sep-2008

22:26

x86

Mscorlib.resources.dll

2.0.50727.3053

311,296

27-Jul-2008

18:02

x86

Mscorlib.resources.dll

2.0.50727.3053

331,776

15-Sep-2008

22:26

x86

Mscorlib.resources.dll

2.0.50727.3053

315,392

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

307,200

27-Jul-2008

17:56

x86

Mscorlib.resources.dll

2.0.50727.3053

348,160

27-Jul-2008

18:02

x86

Mscorlib.resources.dll

2.0.50727.3053

319,488

27-Jul-2008

17:56

x86

Mscorlib.resources.dll

2.0.50727.3053

290,816

15-Sep-2008

22:26

x86

Mscorlib.resources.dll

2.0.50727.3053

303,104

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

311,296

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

303,104

27-Jul-2008

17:56

x86

Mscorlib.resources.dll

2.0.50727.3053

307,200

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.1434

397,312

11-Jan-2008

22:59

x86

Mscorlib.resources.dll

2.0.50727.3053

299,008

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

299,008

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

278,528

27-Jul-2008

17:56

x86

Mscorlib.resources.dll

2.0.50727.3053

278,528

27-Jul-2008

17:56

x86

Big5.nlp

ไม่มีข้อมูล

66,728

18-Dec-2007

21:03

ไม่มีข้อมูล

Bopomofo.nlp

ไม่มีข้อมูล

82,172

18-Dec-2007

21:03

ไม่มีข้อมูล

Ksc.nlp

ไม่มีข้อมูล

116,756

18-Dec-2007

21:04

ไม่มีข้อมูล

Mscorlib.dll

2.0.50727.3068

4,546,560

01-Oct-2008

22:27

x86

Normidna.nlp

ไม่มีข้อมูล

59,342

18-Dec-2007

21:05

ไม่มีข้อมูล

Normnfc.nlp

ไม่มีข้อมูล

45,794

18-Dec-2007

21:05

ไม่มีข้อมูล

Normnfd.nlp

ไม่มีข้อมูล

39,284

18-Dec-2007

21:05

ไม่มีข้อมูล

Normnfkc.nlp

ไม่มีข้อมูล

66,384

18-Dec-2007

21:05

ไม่มีข้อมูล

Normnfkd.nlp

ไม่มีข้อมูล

60,294

18-Dec-2007

21:05

ไม่มีข้อมูล

Prc.nlp

ไม่มีข้อมูล

83,748

18-Dec-2007

21:05

ไม่มีข้อมูล

Prcp.nlp

ไม่มีข้อมูล

83,748

18-Dec-2007

21:05

ไม่มีข้อมูล

Sortkey.nlp

ไม่มีข้อมูล

262,148

18-Dec-2007

21:05

ไม่มีข้อมูล

Sorttbls.nlp

ไม่มีข้อมูล

20,320

18-Dec-2007

21:05

ไม่มีข้อมูล

Xjis.nlp

ไม่มีข้อมูล

28,288

18-Dec-2007

21:05

ไม่มีข้อมูล

Mscordacwks.dll

2.0.50727.3068

992,264

01-Oct-2008

22:27

x86

Mscorjit.dll

2.0.50727.3068

367,104

24-Sep-2008

22:21

x86

Mscorwks.dll

2.0.50727.3068

5,815,808

01-Oct-2008

22:27

x86

Windows Vista SP1 และ Windows Server 2008 รุ่น IA 64

ชื่อแฟ้ม

รุ่นของแฟ้ม

ขนาดของแฟ้ม

วันที่

เวลา

แพลตฟอร์ม

Big5.nlp

ไม่มีข้อมูล

66,728

18-Dec-2007

21:06

ไม่มีข้อมูล

Bopomofo.nlp

ไม่มีข้อมูล

82,172

18-Dec-2007

21:06

ไม่มีข้อมูล

Ksc.nlp

ไม่มีข้อมูล

116,756

18-Dec-2007

21:06

ไม่มีข้อมูล

Mscorlib.dll

2.0.50727.3068

4,005,888

01-Oct-2008

22:26

IA-64

Normidna.nlp

ไม่มีข้อมูล

59,342

18-Dec-2007

21:08

ไม่มีข้อมูล

Normnfc.nlp

ไม่มีข้อมูล

45,794

18-Dec-2007

21:08

ไม่มีข้อมูล

Normnfd.nlp

ไม่มีข้อมูล

39,284

18-Dec-2007

21:08

ไม่มีข้อมูล

Normnfkc.nlp

ไม่มีข้อมูล

66,384

18-Dec-2007

21:08

ไม่มีข้อมูล

Normnfkd.nlp

ไม่มีข้อมูล

60,294

18-Dec-2007

21:08

ไม่มีข้อมูล

Prc.nlp

ไม่มีข้อมูล

83,748

18-Dec-2007

21:08

ไม่มีข้อมูล

Prcp.nlp

ไม่มีข้อมูล

83,748

18-Dec-2007

21:08

ไม่มีข้อมูล

Sortkey.nlp

ไม่มีข้อมูล

262,148

18-Dec-2007

21:08

ไม่มีข้อมูล

Sorttbls.nlp

ไม่มีข้อมูล

20,320

18-Dec-2007

21:08

ไม่มีข้อมูล

Xjis.nlp

ไม่มีข้อมูล

28,288

18-Dec-2007

21:08

ไม่มีข้อมูล

Mscordacwks.dll

2.0.50727.3068

3,087,880

01-Oct-2008

22:26

IA-64

Mscorjit.dll

2.0.50727.3068

2,560,512

24-Sep-2008

23:14

IA-64

Mscorwks.dll

2.0.50727.3068

20,153,856

01-Oct-2008

22:26

IA-64

Mscorlib.resources.dll

2.0.50727.3053

315,392

27-Jul-2008

17:58

x86

Mscorlib.resources.dll

2.0.50727.3053

311,296

27-Jul-2008

17:58

x86

Mscorlib.resources.dll

2.0.50727.3053

348,160

27-Jul-2008

17:58

x86

Mscorlib.resources.dll

2.0.50727.3053

319,488

27-Jul-2008

17:58

x86

Mscorlib.resources.dll

2.0.50727.3053

278,528

27-Jul-2008

17:58

x86

Mscorlib.resources.dll

2.0.50727.3053

278,528

27-Jul-2008

17:59

x86

Big5.nlp

ไม่มีข้อมูล

66,728

18-Dec-2007

21:03

ไม่มีข้อมูล

Bopomofo.nlp

ไม่มีข้อมูล

82,172

18-Dec-2007

21:03

ไม่มีข้อมูล

Ksc.nlp

ไม่มีข้อมูล

116,756

18-Dec-2007

21:04

ไม่มีข้อมูล

Mscorlib.dll

2.0.50727.3068

4,546,560

01-Oct-2008

22:27

x86

Normidna.nlp

ไม่มีข้อมูล

59,342

18-Dec-2007

21:05

ไม่มีข้อมูล

Normnfc.nlp

ไม่มีข้อมูล

45,794

18-Dec-2007

21:05

ไม่มีข้อมูล

Normnfd.nlp

ไม่มีข้อมูล

39,284

18-Dec-2007

21:05

ไม่มีข้อมูล

Normnfkc.nlp

ไม่มีข้อมูล

66,384

18-Dec-2007

21:05

ไม่มีข้อมูล

Normnfkd.nlp

ไม่มีข้อมูล

60,294

18-Dec-2007

21:05

ไม่มีข้อมูล

Prc.nlp

ไม่มีข้อมูล

83,748

18-Dec-2007

21:05

ไม่มีข้อมูล

Prcp.nlp

ไม่มีข้อมูล

83,748

18-Dec-2007

21:05

ไม่มีข้อมูล

Sortkey.nlp

ไม่มีข้อมูล

262,148

18-Dec-2007

21:05

ไม่มีข้อมูล

Sorttbls.nlp

ไม่มีข้อมูล

20,320

18-Dec-2007

21:05

ไม่มีข้อมูล

Xjis.nlp

ไม่มีข้อมูล

28,288

18-Dec-2007

21:05

ไม่มีข้อมูล

Mscordacwks.dll

2.0.50727.3068

992,264

01-Oct-2008

22:27

x86

Mscorjit.dll

2.0.50727.3068

367,104

24-Sep-2008

22:21

x86

Mscorwks.dll

2.0.50727.3068

5,815,808

01-Oct-2008

22:27

x86

วิธีแก้ปัญหา

เมื่อต้องหลีกเลี่ยงปัญหานี้ ใช้หนึ่งในวิธีต่อไปนี้

วิธีที่ 1

ถ้ารหัสแอพลิเคชันคล้ายคลึงกับตัวอย่างรหัสในส่วน "ข้อมูลเพิ่มเติม" ค้นหาบรรทัดของรหัสต่อไปนี้

#define GETVECTOR3D(vec3d) (*reinterpret_cast<AcGeVector3d*>(&((vec3d).m_x))

เปลี่ยนรหัสบรรทัดนี้เป็นดังนี้

#define GETVECTOR3D(vec3d) (*reinterpret_cast<AcGeVector3d*>(&((vec3d)))

วิธีที่ 2

ปรับใช้แฟ้ม.ini เมื่อต้องการทำเช่นนี้ สร้างแฟ้มที่ประกอบด้วยรหัสต่อไปนี้

[.NET Framework Debugging Control]AllowOptimize=0

ตั้งชื่อแฟ้ม.ini เหมือนกับโมดูลตัวที่มีปัญหา แต่ใช้นามสกุล.ini แทนนามสกุล.dll ตัวอย่างเช่น สำหรับตัวอย่างรหัสในส่วน "ข้อมูลเพิ่มเติม" ชื่อแฟ้ม.ini Bug.ini แฟ้ม วางแฟ้ม Bug.ini ในไดเรกทอรีเดียวกับแฟ้ม Bug.dll

หมายเหตุ ข้อเสียเปรียบของวิธีนี้คือ ผลกระทบต่อประสิทธิภาพที่เป็นไปได้สำหรับการปรับให้เหมาะสมไม่ ถ้าคุณใช้สร้างอิมเมจดั้งเดิม (Ngen.exe) precompile โมดูล วิธีการนี้ไม่สามารถใช้

วิธีที่ 3

เลือกที่จะใช้ตัวเลือกNoOptimizationของการแจงนับMethodImplOptionsกับวิธีการตัวที่มีปัญหา โดยใช้คลาสMethodImplAttribute

หมายเหตุ วิธีการนี้ปิดใช้งานการปรับให้เหมาะสม สำหรับคอมไพเลอร์ JIT และแบบดั้งเดิมรูปตัวสร้าง (Ngen.exe) ในระดับสำหรับแต่ละวิธี จำนวนมีผลต่อประสิทธิภาพการทำงานแตกต่างกันไป ขึ้นอยู่กับวิธีการ

สถานะ

Microsoft ยืนยันว่านี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน "นำไปใช้กับ"

ข้อมูลเพิ่มเติม

ขั้นตอนในการทบทวนเกิดปัญหา

  1. สร้างโปรแกรมประยุกต์ c ++ที่ยึดตามแบบ SP1 .NET Framework 3.5

  2. เพิ่มแฟ้ม.cpp ไปยังโครงการ ชื่อแฟ้มนี้แฟ้ม Bug.cpp และวางรหัสต่อไปนี้ในแฟ้ม Bug.cpp

    #using <mscorlib.dll>#include <stdlib.h>
    class AcGeVector3d
    {
    double x, y, z;
    public:
    __forceinline AcGeVector3d(const AcGeVector3d& src): x(src.x),y(src.y),z(src.z)
    {
    }
    __forceinline AcGeVector3d(double xx, double yy, double zz) : x(xx),y(yy),z(zz)
    {
    }
    __forceinline AcGeVector3d operator / (double val) const
    {
    return AcGeVector3d (x/val, y/val, z/val);
    }
    };
    #define GETVECTOR3D(vec3d) (*reinterpret_cast<AcGeVector3d*>(&((vec3d).m_x)))
    namespace Geometry
    {
    [System::Runtime::InteropServices::StructLayout(System::Runtime::InteropServices::LayoutKind::Sequential)]
    public value class Vector3d
    {
    internal:
    double m_x, m_y, m_z;
    Vector3d(const AcGeVector3d* obj)
    {
    GETVECTOR3D(*this) = *obj;
    }
    public:
    Vector3d(double x, double y, double z):m_x(x),m_y(y), m_z(z) {}
    Vector3d DivideBy(double value)
    {
    return Vector3d(&GETVECTOR3D(*this).operator /(value));
    }
    virtual System::String^ ToString() override
    {
    return System::String::Format("{0}, {1}, {2}", m_x, m_y, m_z);
    }
    };
    }

  3. การคอมไพล์แฟ้ม Bug.cpp เรียกใช้คำสั่งต่อไปนี้:

    ล้ /clr /GL /O2 bug.cpp /link /dll /out:bug.dll

  4. สร้าง Microsoft Visual C# โครงการใหม่ที่จะใช้เป็นโครงการของไคลเอ็นต์

  5. ตั้งชื่อแฟ้ม Test.cs แฟ้มรหัส และวางรหัสต่อไปนี้ในแฟ้ม Test.cs

    using Geometry;namespace Test
    {
    class Tester
    {
    static void Main()
    {
    Vector3d v = new Vector3d(200, 200, 0);
    v = v.DivideBy(150);
    System.Console.WriteLine("{0}", v);
    }
    }
    }

  6. การคอมไพล์แฟ้ม Test.cs เรียกใช้คำสั่งต่อไปนี้:

    csc /r:bug.dll test.cs

  7. เมื่อต้องการฝังรายการลงในแฟ้ม Test.exe เรียกใช้คำสั่งต่อไปนี้:

    mt.exe - nologo-รายการ bug.dll.manifest-outputresource:test.exe;1

  8. เรียกใช้แฟ้ม Test.exe

ขอให้สังเกตว่าผลลัพธ์เกิดขึ้นจริงจะเป็นดังนี้:

1.33333333333333, 1.333333333333, 0อย่างไรก็ตาม ผลลัพธ์คาดไว้จะเป็นดังนี้:

1.33333333333333, 0, 0

ข้อมูลอ้างอิง

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

824684คำอธิบายของคำศัพท์มาตรฐานที่ใช้เพื่ออธิบายปรับปรุงซอฟต์แวร์ของ Microsoft

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย

ข้อมูลนี้เป็นประโยชน์หรือไม่

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

ขอบคุณสำหรับคำติชมของคุณ!

×