Pazīmes
Datorā, kurā darbojas Microsoft .NET Framework 3.5 1. servisa pakotne (SP1), kompilators just-in-time (JIT) un vietējā attēlu ģenerators (Ngen.exe), kas izmanto Mscorjit.dll failu var radīt nepareizu kodu. Tādēļ pārvalda C++ 32 bitu lietojumprogramma var radīt nepareizus rezultātus.
Šī problēma rodas, ja tiek ievēroti šādi nosacījumi:
-
Atsaukuma struktūras vai klases avota kodā ir mazāk nekā četras skalārs šķirnēm un neviena pārvaldītā objekta atsauce.
-
Izmantojot Cpblk instrukcija vai Initblk instrukcijas.
Piezīme. Šī problēma nerodas 64 bitu lietojumprogramma.
Iemesls
Šī problēma rodas regresa .NET Framework 3.5 SP1.
Risinājums
Informācija par labojumfailu
Korporācija Microsoft piedāvā atbalstītu labojumfailu. Tomēr šis labojumfails ir paredzēts tikai šajā rakstā aprakstītās problēmas novēršanai. Lai lietotu šo labojumfailu tikai tām sistēmām, kurām ir radusies tieši šī problēma. Šajā labojumfailā, iespējams, tiks veikta papildu testēšana. Tādēļ, ja jums šī problēma nerada nopietnus traucējumus, ieteicams pagaidīt nākamos programmatūras atjauninājumus, kuros ir iekļauts šis labojumfails.
Lai lejupielādētu šo labojumfailu no MSDN kodu galerijas, apmeklējiet šo Microsoft Web vietu:
http://code.msdn.microsoft.com/KB957542
Piezīme. MSDN kodu galerijā redzamas valodas, kurām ir pieejams labojumfails. Ja tajā nav vajadzīgās valodas sarakstā, tas nozīmē, ka kodu galerijas resursu lapa šajā valodā nav pieejama.
Piezīme. Ja rodas papildu problēmas vai nepieciešama problēmu novēršana, iespējams, būs jāizveido atsevišķs pakalpojuma pieprasījums. Parasti atbalsta izmaksas tiek piemērotas jautājumiem par papildu atbalstu un problēmām, kas neattiecas uz šo konkrēto labojumfailu. Lai iegūtu pilnīgu sarakstu ar Microsoft klientu apkalpošanas un atbalsta centra tālruņa numuru vai izveidotu atsevišķu pakalpojuma pieprasījumu, apmeklējiet šo Microsoft Web vietu:
http://support.microsoft.com/contactus/?ws=supportPiezīme. Ja jums ir 32 bitu lietojumprogramma, kas darbojas 64 bitu versijā, lietojiet labojumfailu 64 bitu versija, lai novērstu šo problēmu.
Priekšnosacījumi
Lai lietotu šo labojumfailu .NET Framework 3.5 SP1 ir nepieciešama.
Restartēšanas nepieciešamība
Iespējams, būs jārestartē dators, ja tiek izmantots kāds no failiem, kas tiek atjaunināti.
Informācija par labojumfaila aizstāšanu
Šis labojumfails neaizstāj nevienu citu labojumfailu.
Informācija par failu
Šī labojumfaila versijai angļu valodā ir faila atribūti (vai jaunāki faila atribūti) Šajā tabulā sniegtie. Šo failu datumi un laiki ir norādīti atbilstoši universālajam koordinētajam laikam (UTC). Skatot faila informāciju, tā tiek pārvērsta atbilstoši vietējam laikam. Lai noskaidrotu atšķirību starp UTC un vietējo laiku, izmantojiet vadības paneļa vienuma Datums un laiks cilni Laika josla.
Windows 2000, Windows XP un Windows Server 2003 x86 versijām
Faila nosaukums |
Faila versija |
Faila lielums |
Datums |
Laiks |
---|---|---|---|---|
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 un Windows Server 2003 x64 versijas
Faila nosaukums |
Faila versija |
Faila lielums |
Datums |
Laiks |
Platformas |
---|---|---|---|---|---|
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 un Windows Server 2003 IA-64 versijām
Faila nosaukums |
Faila versija |
Faila lielums |
Datums |
Laiks |
Platformas |
---|---|---|---|---|---|
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 1. servisa pakotne (SP1) un Windows Server 2008 x86 versijām
Faila nosaukums |
Faila versija |
Faila lielums |
Datums |
Laiks |
Platformas |
---|---|---|---|---|---|
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 |
Neattiecas |
66,728 |
18-Dec-2007 |
21:03 |
Neattiecas |
Bopomofo.nlp |
Neattiecas |
82,172 |
18-Dec-2007 |
21:03 |
Neattiecas |
Ksc.nlp |
Neattiecas |
116,756 |
18-Dec-2007 |
21:04 |
Neattiecas |
Mscorlib.dll |
2.0.50727.3068 |
4,546,560 |
01-Oct-2008 |
22:27 |
x86 |
Normidna.nlp |
Neattiecas |
59,342 |
18-Dec-2007 |
21:05 |
Neattiecas |
Normnfc.nlp |
Neattiecas |
45,794 |
18-Dec-2007 |
21:05 |
Neattiecas |
Normnfd.nlp |
Neattiecas |
39,284 |
18-Dec-2007 |
21:05 |
Neattiecas |
Normnfkc.nlp |
Neattiecas |
66,384 |
18-Dec-2007 |
21:05 |
Neattiecas |
Normnfkd.nlp |
Neattiecas |
60,294 |
18-Dec-2007 |
21:05 |
Neattiecas |
Prc.nlp |
Neattiecas |
83,748 |
18-Dec-2007 |
21:05 |
Neattiecas |
Prcp.nlp |
Neattiecas |
83,748 |
18-Dec-2007 |
21:05 |
Neattiecas |
Sortkey.nlp |
Neattiecas |
262,148 |
18-Dec-2007 |
21:05 |
Neattiecas |
Sorttbls.nlp |
Neattiecas |
20,320 |
18-Dec-2007 |
21:05 |
Neattiecas |
Xjis.nlp |
Neattiecas |
28,288 |
18-Dec-2007 |
21:05 |
Neattiecas |
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 un Windows Server 2008 x64 versijas
Faila nosaukums |
Faila versija |
Faila lielums |
Datums |
Laiks |
Platformas |
---|---|---|---|---|---|
Big5.nlp |
Neattiecas |
66,728 |
18-Dec-2007 |
21:01 |
Neattiecas |
Bopomofo.nlp |
Neattiecas |
82,172 |
18-Dec-2007 |
21:01 |
Neattiecas |
Ksc.nlp |
Neattiecas |
116,756 |
18-Dec-2007 |
21:02 |
Neattiecas |
Mscorlib.dll |
2.0.50727.3068 |
4,562,944 |
01-Oct-2008 |
22:25 |
x64 |
Normidna.nlp |
Neattiecas |
59,342 |
18-Dec-2007 |
21:03 |
Neattiecas |
Normnfc.nlp |
Neattiecas |
45,794 |
18-Dec-2007 |
21:03 |
Neattiecas |
Normnfd.nlp |
Neattiecas |
39,284 |
18-Dec-2007 |
21:03 |
Neattiecas |
Normnfkc.nlp |
Neattiecas |
66,384 |
18-Dec-2007 |
21:03 |
Neattiecas |
Normnfkd.nlp |
Neattiecas |
60,294 |
18-Dec-2007 |
21:03 |
Neattiecas |
Prc.nlp |
Neattiecas |
83,748 |
18-Dec-2007 |
21:03 |
Neattiecas |
Prcp.nlp |
Neattiecas |
83,748 |
18-Dec-2007 |
21:03 |
Neattiecas |
Sortkey.nlp |
Neattiecas |
262,148 |
18-Dec-2007 |
21:03 |
Neattiecas |
Sorttbls.nlp |
Neattiecas |
20,320 |
18-Dec-2007 |
21:03 |
Neattiecas |
Xjis.nlp |
Neattiecas |
28,288 |
18-Dec-2007 |
21:03 |
Neattiecas |
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 |
Neattiecas |
66,728 |
18-Dec-2007 |
21:03 |
Neattiecas |
Bopomofo.nlp |
Neattiecas |
82,172 |
18-Dec-2007 |
21:03 |
Neattiecas |
Ksc.nlp |
Neattiecas |
116,756 |
18-Dec-2007 |
21:04 |
Neattiecas |
Mscorlib.dll |
2.0.50727.3068 |
4,546,560 |
01-Oct-2008 |
22:27 |
x86 |
Normidna.nlp |
Neattiecas |
59,342 |
18-Dec-2007 |
21:05 |
Neattiecas |
Normnfc.nlp |
Neattiecas |
45,794 |
18-Dec-2007 |
21:05 |
Neattiecas |
Normnfd.nlp |
Neattiecas |
39,284 |
18-Dec-2007 |
21:05 |
Neattiecas |
Normnfkc.nlp |
Neattiecas |
66,384 |
18-Dec-2007 |
21:05 |
Neattiecas |
Normnfkd.nlp |
Neattiecas |
60,294 |
18-Dec-2007 |
21:05 |
Neattiecas |
Prc.nlp |
Neattiecas |
83,748 |
18-Dec-2007 |
21:05 |
Neattiecas |
Prcp.nlp |
Neattiecas |
83,748 |
18-Dec-2007 |
21:05 |
Neattiecas |
Sortkey.nlp |
Neattiecas |
262,148 |
18-Dec-2007 |
21:05 |
Neattiecas |
Sorttbls.nlp |
Neattiecas |
20,320 |
18-Dec-2007 |
21:05 |
Neattiecas |
Xjis.nlp |
Neattiecas |
28,288 |
18-Dec-2007 |
21:05 |
Neattiecas |
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 un Windows Server 2008 IA-64 versijām
Faila nosaukums |
Faila versija |
Faila lielums |
Datums |
Laiks |
Platformas |
---|---|---|---|---|---|
Big5.nlp |
Neattiecas |
66,728 |
18-Dec-2007 |
21:06 |
Neattiecas |
Bopomofo.nlp |
Neattiecas |
82,172 |
18-Dec-2007 |
21:06 |
Neattiecas |
Ksc.nlp |
Neattiecas |
116,756 |
18-Dec-2007 |
21:06 |
Neattiecas |
Mscorlib.dll |
2.0.50727.3068 |
4,005,888 |
01-Oct-2008 |
22:26 |
IA-64 |
Normidna.nlp |
Neattiecas |
59,342 |
18-Dec-2007 |
21:08 |
Neattiecas |
Normnfc.nlp |
Neattiecas |
45,794 |
18-Dec-2007 |
21:08 |
Neattiecas |
Normnfd.nlp |
Neattiecas |
39,284 |
18-Dec-2007 |
21:08 |
Neattiecas |
Normnfkc.nlp |
Neattiecas |
66,384 |
18-Dec-2007 |
21:08 |
Neattiecas |
Normnfkd.nlp |
Neattiecas |
60,294 |
18-Dec-2007 |
21:08 |
Neattiecas |
Prc.nlp |
Neattiecas |
83,748 |
18-Dec-2007 |
21:08 |
Neattiecas |
Prcp.nlp |
Neattiecas |
83,748 |
18-Dec-2007 |
21:08 |
Neattiecas |
Sortkey.nlp |
Neattiecas |
262,148 |
18-Dec-2007 |
21:08 |
Neattiecas |
Sorttbls.nlp |
Neattiecas |
20,320 |
18-Dec-2007 |
21:08 |
Neattiecas |
Xjis.nlp |
Neattiecas |
28,288 |
18-Dec-2007 |
21:08 |
Neattiecas |
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 |
Neattiecas |
66,728 |
18-Dec-2007 |
21:03 |
Neattiecas |
Bopomofo.nlp |
Neattiecas |
82,172 |
18-Dec-2007 |
21:03 |
Neattiecas |
Ksc.nlp |
Neattiecas |
116,756 |
18-Dec-2007 |
21:04 |
Neattiecas |
Mscorlib.dll |
2.0.50727.3068 |
4,546,560 |
01-Oct-2008 |
22:27 |
x86 |
Normidna.nlp |
Neattiecas |
59,342 |
18-Dec-2007 |
21:05 |
Neattiecas |
Normnfc.nlp |
Neattiecas |
45,794 |
18-Dec-2007 |
21:05 |
Neattiecas |
Normnfd.nlp |
Neattiecas |
39,284 |
18-Dec-2007 |
21:05 |
Neattiecas |
Normnfkc.nlp |
Neattiecas |
66,384 |
18-Dec-2007 |
21:05 |
Neattiecas |
Normnfkd.nlp |
Neattiecas |
60,294 |
18-Dec-2007 |
21:05 |
Neattiecas |
Prc.nlp |
Neattiecas |
83,748 |
18-Dec-2007 |
21:05 |
Neattiecas |
Prcp.nlp |
Neattiecas |
83,748 |
18-Dec-2007 |
21:05 |
Neattiecas |
Sortkey.nlp |
Neattiecas |
262,148 |
18-Dec-2007 |
21:05 |
Neattiecas |
Sorttbls.nlp |
Neattiecas |
20,320 |
18-Dec-2007 |
21:05 |
Neattiecas |
Xjis.nlp |
Neattiecas |
28,288 |
18-Dec-2007 |
21:05 |
Neattiecas |
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 |
Risinājums
Lai novērstu šo problēmu, izmantojiet kādu no šīm metodēm.
1. metode
Ja programmas kodu līdzīga parauga kods sadaļā "Papildinformācija", atrodiet šādu rindiņu kodu.
#define GETVECTOR3D(vec3d) (*reinterpret_cast<AcGeVector3d*>(&((vec3d).m_x))
Mainīt šo rindu koda šādi.
#define GETVECTOR3D(vec3d) (*reinterpret_cast<AcGeVector3d*>(&((vec3d)))
2. metode
Izvietojiet. ini failā. Lai to izdarītu, izveidojiet failu, kas ietver kodu.
[.NET Framework Debugging Control]AllowOptimize=0
Tāpat kā problemātisko moduļa nosaukums. ini failu, bet ar paplašinājumu. dll vietā izmantojiet paplašinājumu. ini. Piemēram, sadaļā "Papildinformācija" parauga kodu, nosauciet. ini failu Bug.ini failu. Ievietojiet Bug.ini failu tajā pašā mapē kā Bug.dll failu.
Piezīme. Šīs metodes trūkums ir iespējamās darbības efekta nav optimizācijas. Ja izmantojat vietējā attēlu ģenerators (Ngen.exe) precompile modulis, šī metode nav piemērojama.
3. metode
Selektīvi lietot opciju NoOptimization MethodImplOptions uzskaitījums problemātisko metodes, izmantojot MethodImplAttribute klases.
Piezīme. Šī metode atspējo optimizācijas JIT kompilatora un vietējā attēlu ģenerators (Ngen.exe) — metode līmenī. Cik daudz saistītās darbības var atšķirties atkarībā no metodi.
Statuss
Korporācija Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir minēti sadaļā "Attiecas uz".
Papildinformācija
Problēmas atveidošanas darbības
-
Izveidojiet C++ lietojumprogrammu, kas ir atkarīgs no .NET Framework 3.5 SP1.
-
.Cpp faila pievienošana projekta šī faila nosaukums Bug.cpp failu un ielīmējiet šo kodu Bug.cpp failu.
#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);
}
};
} -
Lai apkopotu Bug.cpp failu, izpildiet šādu komandu:
CL /clr /GL /O2 bug.cpp/Link /dll /out:bug.dll
-
Izveidojiet jaunu Microsoft Visual c# projektu izmantot klienta projekts.
-
Nosauciet failu kods Test.cs failu un pēc tam ielīmējiet kodu Test.cs failā.
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);
}
}
} -
Lai apkopotu Test.cs failu, izpildiet šādu komandu:
CSC /r:bug.dll test.cs
-
Iegult manifesta failā Test.exe, izpildiet šādu komandu:
MT.exe - nologo-manifests bug.dll.manifest-outputresource:test.exe;1
-
Palaidiet failu Test.exe.
Ievērojiet, ka faktiskais rezultāts ir šāds:
1.33333333333333, 1.333333333333, 0Tomēr paredzamais rezultāts ir šāds:
1.33333333333333, 0, 0
Atsauces
Lai iegūtu papildinformāciju par programmatūras atjauninājumu terminoloģiju, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:
824684 tiek izmantota Microsoft programmatūras atjauninājumu standarta terminoloģijas apraksts