Symptomen
Op een computer waarop Microsoft.NET Framework 3.5 servicepack 1 (SP1) wordt uitgevoerd, kan de just-in-time-compileerprogramma (JIT) en de Native Image Generator (Ngen.exe) waarin het bestand Mscorjit.dll onjuiste code genereren. Daarom kan een Managed C++ 32-bits toepassing onjuiste resultaten oplevert.
Dit probleem treedt op als aan de volgende voorwaarden voldaan wordt:-
De struct of de klasse in de broncode heeft minder dan vier scalaire rassen en geen verwijzingen van beheerde objecten.
-
U gebruikt de instructie cpblk ontbreekt of de instructie Initblk.
Opmerking Dit probleem treedt niet op in een 64-bits toepassing.
Oorzaak
Dit probleem treedt op vanwege een regressie in .NET Framework 3.5 SP1.
Oplossing
Informatie over de hotfix
Een ondersteunde hotfix is beschikbaar bij Microsoft. Deze hotfix is echter alleen bedoeld voor het probleem dat wordt beschreven in dit artikel. Voer deze hotfix alleen uit op systemen waarop dit specifieke probleem zich voordoet. Deze hotfix moet wellicht extra worden getest. Als u geen ernstige hinder ondervindt van dit probleem, is het daarom raadzaam te wachten op de volgende update waarin deze hotfix is opgenomen.
Om deze hotfix te downloaden vanaf de MSDN Code Gallery, gaat u naar de volgende Microsoft-website:http://code.msdn.microsoft.com/KB957542 Opmerking De MSDN Code Gallery geeft de talen waarvoor de hotfix beschikbaar is. Als de taal die niet wordt weergegeven, is het omdat de pagina Galerie met Code bron niet beschikbaar voor die taal is. Opmerking Als er andere problemen optreden of als probleemoplossing is vereist, moet u wellicht een apart serviceverzoek indienen. De normale ondersteuningskosten gelden voor extra ondersteuningsvragen en problemen die niet in aanmerking komen voor deze specifieke hotfix. Voor een volledige lijst met telefoonnummers van Microsoft Customer Service and Support of een afzonderlijk serviceverzoek maken, gaat u naar de volgende Microsoft-website:
http://support.microsoft.com/contactus/?ws=supportOpmerking Als u een 32-bits toepassing die wordt uitgevoerd op een 64-bits platform, de hotfix voor de 64-bits versie naar een oplossing voor dit probleem van toepassing.
Vereisten
U moet .NET Framework 3.5 SP1 zijn geïnstalleerd om deze hotfix te kunnen hebben.
Opnieuw opstarten
U moet de computer opnieuw opstarten als een van de bestanden die zijn bijgewerkt worden gebruikt.
Informatie over het vervangen van hotfixes
Deze hotfix vervangt geen andere hotfixes.
Bestandsinformatie
De Engelse versie van deze hotfix heeft de bestandskenmerken (of recentere bestandskenmerken) die in de volgende tabel worden weergegeven. De datums en tijden voor deze bestanden worden weergegeven in Coordinated Universal Time (UTC). Wanneer u de bestandsinformatie weergeeft, wordt deze naar lokale tijd geconverteerd. Om het verschil tussen UTC en lokale tijd op te zoeken, gebruikt u het tabblad tijdzone in het onderdeel datum en tijd in het Configuratiescherm.
Windows 2000, Windows XP en Windows Server 2003, x86 versies
Bestandsnaam |
Bestandsversie |
Bestandsgrootte |
Datum |
Tijd |
---|---|---|---|---|
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 en Windows Server 2003, x64 versies
Bestandsnaam |
Bestandsversie |
Bestandsgrootte |
Datum |
Tijd |
Platform |
---|---|---|---|---|---|
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 en Windows Server 2003 IA-64-versies
Bestandsnaam |
Bestandsversie |
Bestandsgrootte |
Datum |
Tijd |
Platform |
---|---|---|---|---|---|
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) en Windows Server 2008, x86 versies
Bestandsnaam |
Bestandsversie |
Bestandsgrootte |
Datum |
Tijd |
Platform |
---|---|---|---|---|---|
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 |
Niet van toepassing |
66,728 |
18-Dec-2007 |
21:03 |
Niet van toepassing |
Bopomofo.nlp |
Niet van toepassing |
82,172 |
18-Dec-2007 |
21:03 |
Niet van toepassing |
Ksc.nlp |
Niet van toepassing |
116,756 |
18-Dec-2007 |
21:04 |
Niet van toepassing |
Mscorlib.dll |
2.0.50727.3068 |
4,546,560 |
01-Oct-2008 |
22:27 |
x86 |
Normidna.nlp |
Niet van toepassing |
59,342 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Normnfc.nlp |
Niet van toepassing |
45,794 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Normnfd.nlp |
Niet van toepassing |
39,284 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Normnfkc.nlp |
Niet van toepassing |
66,384 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Normnfkd.nlp |
Niet van toepassing |
60,294 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Prc.nlp |
Niet van toepassing |
83,748 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Prcp.nlp |
Niet van toepassing |
83,748 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Sortkey.nlp |
Niet van toepassing |
262,148 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Sorttbls.nlp |
Niet van toepassing |
20,320 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Xjis.nlp |
Niet van toepassing |
28,288 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
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 en Windows Server 2008, x64 versies
Bestandsnaam |
Bestandsversie |
Bestandsgrootte |
Datum |
Tijd |
Platform |
---|---|---|---|---|---|
Big5.nlp |
Niet van toepassing |
66,728 |
18-Dec-2007 |
21:01 |
Niet van toepassing |
Bopomofo.nlp |
Niet van toepassing |
82,172 |
18-Dec-2007 |
21:01 |
Niet van toepassing |
Ksc.nlp |
Niet van toepassing |
116,756 |
18-Dec-2007 |
21:02 |
Niet van toepassing |
Mscorlib.dll |
2.0.50727.3068 |
4,562,944 |
01-Oct-2008 |
22:25 |
x64 |
Normidna.nlp |
Niet van toepassing |
59,342 |
18-Dec-2007 |
21:03 |
Niet van toepassing |
Normnfc.nlp |
Niet van toepassing |
45,794 |
18-Dec-2007 |
21:03 |
Niet van toepassing |
Normnfd.nlp |
Niet van toepassing |
39,284 |
18-Dec-2007 |
21:03 |
Niet van toepassing |
Normnfkc.nlp |
Niet van toepassing |
66,384 |
18-Dec-2007 |
21:03 |
Niet van toepassing |
Normnfkd.nlp |
Niet van toepassing |
60,294 |
18-Dec-2007 |
21:03 |
Niet van toepassing |
Prc.nlp |
Niet van toepassing |
83,748 |
18-Dec-2007 |
21:03 |
Niet van toepassing |
Prcp.nlp |
Niet van toepassing |
83,748 |
18-Dec-2007 |
21:03 |
Niet van toepassing |
Sortkey.nlp |
Niet van toepassing |
262,148 |
18-Dec-2007 |
21:03 |
Niet van toepassing |
Sorttbls.nlp |
Niet van toepassing |
20,320 |
18-Dec-2007 |
21:03 |
Niet van toepassing |
Xjis.nlp |
Niet van toepassing |
28,288 |
18-Dec-2007 |
21:03 |
Niet van toepassing |
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 |
Niet van toepassing |
66,728 |
18-Dec-2007 |
21:03 |
Niet van toepassing |
Bopomofo.nlp |
Niet van toepassing |
82,172 |
18-Dec-2007 |
21:03 |
Niet van toepassing |
Ksc.nlp |
Niet van toepassing |
116,756 |
18-Dec-2007 |
21:04 |
Niet van toepassing |
Mscorlib.dll |
2.0.50727.3068 |
4,546,560 |
01-Oct-2008 |
22:27 |
x86 |
Normidna.nlp |
Niet van toepassing |
59,342 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Normnfc.nlp |
Niet van toepassing |
45,794 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Normnfd.nlp |
Niet van toepassing |
39,284 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Normnfkc.nlp |
Niet van toepassing |
66,384 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Normnfkd.nlp |
Niet van toepassing |
60,294 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Prc.nlp |
Niet van toepassing |
83,748 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Prcp.nlp |
Niet van toepassing |
83,748 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Sortkey.nlp |
Niet van toepassing |
262,148 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Sorttbls.nlp |
Niet van toepassing |
20,320 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Xjis.nlp |
Niet van toepassing |
28,288 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
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 en Windows Server 2008, IA-64-versies
Bestandsnaam |
Bestandsversie |
Bestandsgrootte |
Datum |
Tijd |
Platform |
---|---|---|---|---|---|
Big5.nlp |
Niet van toepassing |
66,728 |
18-Dec-2007 |
21:06 |
Niet van toepassing |
Bopomofo.nlp |
Niet van toepassing |
82,172 |
18-Dec-2007 |
21:06 |
Niet van toepassing |
Ksc.nlp |
Niet van toepassing |
116,756 |
18-Dec-2007 |
21:06 |
Niet van toepassing |
Mscorlib.dll |
2.0.50727.3068 |
4,005,888 |
01-Oct-2008 |
22:26 |
IA-64 |
Normidna.nlp |
Niet van toepassing |
59,342 |
18-Dec-2007 |
21:08 |
Niet van toepassing |
Normnfc.nlp |
Niet van toepassing |
45,794 |
18-Dec-2007 |
21:08 |
Niet van toepassing |
Normnfd.nlp |
Niet van toepassing |
39,284 |
18-Dec-2007 |
21:08 |
Niet van toepassing |
Normnfkc.nlp |
Niet van toepassing |
66,384 |
18-Dec-2007 |
21:08 |
Niet van toepassing |
Normnfkd.nlp |
Niet van toepassing |
60,294 |
18-Dec-2007 |
21:08 |
Niet van toepassing |
Prc.nlp |
Niet van toepassing |
83,748 |
18-Dec-2007 |
21:08 |
Niet van toepassing |
Prcp.nlp |
Niet van toepassing |
83,748 |
18-Dec-2007 |
21:08 |
Niet van toepassing |
Sortkey.nlp |
Niet van toepassing |
262,148 |
18-Dec-2007 |
21:08 |
Niet van toepassing |
Sorttbls.nlp |
Niet van toepassing |
20,320 |
18-Dec-2007 |
21:08 |
Niet van toepassing |
Xjis.nlp |
Niet van toepassing |
28,288 |
18-Dec-2007 |
21:08 |
Niet van toepassing |
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 |
Niet van toepassing |
66,728 |
18-Dec-2007 |
21:03 |
Niet van toepassing |
Bopomofo.nlp |
Niet van toepassing |
82,172 |
18-Dec-2007 |
21:03 |
Niet van toepassing |
Ksc.nlp |
Niet van toepassing |
116,756 |
18-Dec-2007 |
21:04 |
Niet van toepassing |
Mscorlib.dll |
2.0.50727.3068 |
4,546,560 |
01-Oct-2008 |
22:27 |
x86 |
Normidna.nlp |
Niet van toepassing |
59,342 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Normnfc.nlp |
Niet van toepassing |
45,794 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Normnfd.nlp |
Niet van toepassing |
39,284 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Normnfkc.nlp |
Niet van toepassing |
66,384 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Normnfkd.nlp |
Niet van toepassing |
60,294 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Prc.nlp |
Niet van toepassing |
83,748 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Prcp.nlp |
Niet van toepassing |
83,748 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Sortkey.nlp |
Niet van toepassing |
262,148 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Sorttbls.nlp |
Niet van toepassing |
20,320 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
Xjis.nlp |
Niet van toepassing |
28,288 |
18-Dec-2007 |
21:05 |
Niet van toepassing |
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 |
Tijdelijke oplossing
Gebruik een van de volgende methoden om dit probleem omzeilen.
Methode 1
Als de toepassingscode lijkt op het voorbeeld met programmacode in de sectie 'Meer informatie', zoek de volgende regel code.
#define GETVECTOR3D(vec3d) (*reinterpret_cast<AcGeVector3d*>(&((vec3d).m_x))
Als u deze regel als volgt te wijzigen.
#define GETVECTOR3D(vec3d) (*reinterpret_cast<AcGeVector3d*>(&((vec3d)))
Methode 2
Implementeer een ini-bestand. Hiertoe maakt u een bestand met de volgende code.
[.NET Framework Debugging Control]AllowOptimize=0
Het ini-bestand de naam hetzelfde als de module problematisch, maar met de extensie INI-in plaats van de extensie .dll. Bijvoorbeeld de voorbeeldcode in het gedeelte 'Meer informatie' noemen het ini-bestand het bestand Bug.ini. Plaats het bestand Bug.ini in dezelfde map als het bestand Bug.dll.
Opmerking Het nadeel van deze methode is het potentiële effect van geen optimalisatie. Deze methode is niet van toepassing als u de Native Image Generator (Ngen.exe) met de module voorcompileren.Methode 3
De optie NoOptimization van de MethodImplOptions -opsomming aan de problematische methoden selectief toepassen met behulp van de klasse MethodImplAttribute .
Opmerking Deze methode schakelt de optimalisaties voor de JIT-compiler en de Native Image Generator (Ngen.exe) op een niveau per methode. Mate waarin de prestaties worden beïnvloed is afhankelijk van de methode.Status
Microsoft heeft bevestigd dat dit probleem kan optreden in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'.
Meer informatie
Stappen om het probleem te reproduceren
-
Maak een C++-toepassing die is gebaseerd op .NET Framework 3.5 SP1.
-
.Cpp-bestand toevoegen aan het project, het bestand Bug.cpp het bestand de naam en plak de volgende code in het bestand 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); } }; } -
Het bestand Bug.cpp compileren, moet u de volgende opdracht uitvoeren:
cl /clr /GL /O2 bug.cpp /link-bestand /out:bug.dll
-
Maak een nieuw Microsoft Visual C#-project moet worden gebruikt als de client-project.
-
Naam van het codebestand het Test.cs-bestand en plak de volgende code in het bestand 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); } } } -
Het bestand Test.cs compileren, moet u de volgende opdracht uitvoeren:
csc /r:bug.dll test.cs
-
Als u wilt het manifest in het Test.exe-bestand insluit, kunt u de volgende opdracht uitvoeren:
MT.exe - nologo-manifest van de bug.dll.manifest-outputresource:test.exe;1
-
Voer het bestand Test.exe.
U ziet het werkelijke resultaat is als volgt:
1.33333333333333, 1.333333333333, 0De verwachting is echter als volgt:
1.33333333333333, 0, 0
Referenties
Voor meer informatie over terminologie voor software-updates klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:
824684 beschrijving van de standaardterminologie die wordt gebruikt om software-updates voor Microsoft te beschrijven