Μετάβαση στο κύριο περιεχόμενο
Υποστήριξη
Είσοδος με Microsoft
Είσοδος ή δημιουργία λογαριασμού.
Γεια σας,
Επιλέξτε διαφορετικό λογαριασμό.
Έχετε πολλούς λογαριασμούς
Επιλέξτε τον λογαριασμό με τον οποίο θέλετε να εισέλθετε.

Συμπτώματα

Σε έναν υπολογιστή που εκτελεί το Microsoft.NET Framework 3.5 Service Pack 1 (SP1), το just-in-time (JIT) του και την εγγενή εφαρμογή δημιουργίας (Ngen.exe) που χρησιμοποιούν το αρχείο Mscorjit.dll ενδέχεται να δημιουργήσει λανθασμένο κωδικό. Επομένως, μια εφαρμογή διαχείρισης C++ 32-bit ενδέχεται να δώσουν λανθασμένα αποτελέσματα.

Αυτό το ζήτημα προκύπτει, εάν ισχύουν οι ακόλουθες συνθήκες:

  • Η δομή ή η κλάση στον πηγαίο κώδικα έχει λιγότερο από τέσσερις ανυσμάτων ποικιλιών και δεν αναφορών σε διαχειριζόμενο αντικείμενο.

  • Χρησιμοποιήστε την οδηγία Cpblk ή η Initblk οδηγία.

Σημείωση Αυτό το ζήτημα δεν παρουσιάζεται σε μια εφαρμογή 64-bit.

Αιτία

Αυτό το ζήτημα παρουσιάζεται εξαιτίας μιας παλινδρόμησης στο .NET Framework 3.5 SP1.

Προτεινόμενη αντιμετώπιση

Πληροφορίες άμεσης επιδιόρθωσης

Μια υποστηριζόμενη άμεση επιδιόρθωση είναι διαθέσιμη από τη Microsoft. Ωστόσο, αυτή η άμεση επιδιόρθωση προορίζεται για τη διόρθωση μόνο του προβλήματος που περιγράφεται σε αυτό το άρθρο. Εφαρμόστε αυτήν την άμεση επιδιόρθωση μόνο σε συστήματα που αντιμετωπίζουν το συγκεκριμένο πρόβλημα. Αυτή η άμεση επιδιόρθωση ενδέχεται να υποβληθεί σε πρόσθετο έλεγχο. Επομένως, εάν αυτό το ζήτημα δεν σας επηρεάζει ιδιαίτερα, σας συνιστούμε να περιμένετε έως την επόμενη ενημέρωση λογισμικού που περιέχει αυτήν την άμεση επιδιόρθωση.

Για να κάνετε λήψη αυτής της επείγουσας επιδιόρθωσης από τη συλλογή κωδίκων MSDN, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:

http://code.msdn.microsoft.com/KB957542
Σημείωση Η συλλογή κωδίκων MSDN εμφανίζει τις γλώσσες για τις οποίες η επείγουσα επιδιόρθωση είναι διαθέσιμη. Εάν δεν βλέπετε τη γλώσσα σας στη λίστα, είναι επειδή η σελίδα πόρου συλλογής κώδικα δεν είναι διαθέσιμη για αυτήν τη γλώσσα.


Σημείωση Εάν προκύψουν πρόσθετα ζητήματα ή απαιτείται αντιμετώπιση προβλημάτων, ίσως χρειαστεί να δημιουργήσετε ξεχωριστή αίτηση εξυπηρέτησης. Για πρόσθετες ερωτήσεις υποστήριξης και θέματα που δεν αφορούν τη συγκεκριμένη άμεση επιδιόρθωση, ισχύουν οι συνηθισμένες χρεώσεις υποστήριξης. Για μια πλήρη λίστα αριθμών τηλεφώνου υποστήριξης και εξυπηρέτησης πελατών της Microsoft ή για να δημιουργήσετε ξεχωριστή αίτηση εξυπηρέτησης, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:

http://support.microsoft.com/contactus/?ws=supportΣημείωση Εάν έχετε μια εφαρμογή 32-bit που εκτελείται σε μια πλατφόρμα 64 bit, εφαρμόστε την επείγουσα επιδιόρθωση για την έκδοση 64-bit για να επιλύσετε αυτό το ζήτημα.

Προϋποθέσεις

Πρέπει να έχετε το .NET Framework 3.5 SP1, για να εφαρμόσετε αυτήν την επείγουσα επιδιόρθωση.

Απαίτηση επανεκκίνησης

Ίσως χρειαστεί να κάνετε επανεκκίνηση του υπολογιστή, εάν οποιοδήποτε από τα αρχεία που έχουν ενημερωθεί που χρησιμοποιούνται.

Πληροφορίες αντικατάστασης άμεσης επιδιόρθωσης

Αυτή η επείγουσα επιδιόρθωση δεν αντικαθιστά άλλες επείγουσες επιδιορθώσεις.

Πληροφορίες αρχείων

Η αγγλική έκδοση αυτής της άμεσης επιδιόρθωσης έχει τα χαρακτηριστικά αρχείου (ή νεότερα χαρακτηριστικά αρχείου) που παρατίθενται στον παρακάτω πίνακα. Οι ημερομηνίες και οι ώρες για τα αρχεία αυτά αναφέρονται σε Συντονισμένη παγκόσμια ώρα (UTC). Όταν προβάλλετε τις πληροφορίες του αρχείου, μετατρέπεται σε τοπική ώρα. Για να βρείτε τη διαφορά μεταξύ της ώρας UTC και της τοπικής ώρας, χρησιμοποιήστε την καρτέλα Zώνη ώρας στο στοιχείο Hμερομηνία και ώρα " στον πίνακα ελέγχου.

Τα 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) για την προ-μεταγλώττιση της λειτουργικής μονάδας, αυτή η μέθοδος δεν είναι εφαρμόσιμη.

Η μέθοδος 3

Η επιλογή NoOptimization από την απαρίθμηση MethodImplOptions για τις μεθόδους προβληματικά εφαρμόζονται επιλεκτικά χρησιμοποιώντας την κλάση MethodImplAttribute .

Σημείωση Αυτή η μέθοδος απενεργοποιεί τις βελτιστοποιήσεις για το πρόγραμμα μεταγλώττισης JIT και τα εγγενή εφαρμογή δημιουργίας (Ngen.exe) σε επίπεδο ανά μέθοδο. Πόσο η απόδοση επηρεάζεται η ποικίλλει, ανάλογα με τη μέθοδο.

Κατάσταση

Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα των προϊόντων της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".

Περισσότερες πληροφορίες

Βήματα για την αναπαραγωγή του προβλήματος

  1. Για να δημιουργήσετε μια εφαρμογή C++ που βασίζεται στο .NET Framework 3.5 SP1.

  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, εκτελέστε την ακόλουθη εντολή:

    CL /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 θα έχει τη δυνατότητα να συλλέξει αυτά τα δεδομένα. Δήλωση προστασίας προσωπικών δεδομένων.

Σας ευχαριστούμε για τα σχόλιά σας!

×