Ich habe diesen Code:
%Vor% Wenn ich meine Anwendung im Debug-Modus erstelle, ist alles in Ordnung, test index pre
druckt 12 und test index post
druckt 14. dasselbe im Freigabemodus mit Optimize code
deaktiviert. Wenn ich mit Optimize code
checked test index post
drucke 18 statt 14
Gleiches Ergebnis, wenn ich index += ethType.Length;
durch index += 2;
ersetze. scheint nur index++;index++;
funktioniert.
Ich habe diesen Code in einer leeren Anwendung ausprobiert und die Summen sind ok.
App ist Multithreading, aber hier gibt es keine Nebenläufigkeit.
Dekompilierter Code von DLL scheint in Ordnung zu sein.
Irgendwelche Ideen, warum das passiert?
BEARBEITEN:
Wird nur angezeigt, wenn die App für x64 kompiliert wurde. x86 ist in Ordnung.
EDIT 3: einige Infos zum Build env:
visuelles Studio 15.0.0-RTW + 26228.4
Framework 4.7.02053
kann dieses Problem in Framework 4.6.2 und 4.7 auslösen. andere Frameworks werden nicht getestet.
EDIT 5: neues, kleineres Beispielprojekt . keine Abhängigkeiten benötigt.
EDIT 6: Demontage des Testprojekts hier . (zu lange, um es hier zu posten)