2009-07-29 11 views

Odpowiedz

0

W Visual Studio wierzę, że można po prostu utworzyć kompilację debugowania, ale zawiera dodatkowe informacje debugowania. Właściwości projektu (kliknij prawym przyciskiem myszy na projekcie w roztworze) zapewnia dostęp do elementów sterujących kompilacją.

Jeśli budujesz z wiersza poleceń przy pomocy csc.exe, zobacz /optimize parameter docs. Jeśli nie określisz/zoptymalizuj, zespół nie powinien być zoptymalizowany.

36

W wierszu poleceń (CSC), /optimize-

w IDE, właściwości projektu → budować → "Kod Optymalizacja"

Dla niektóre JIT optymalizacje, można użyć [MethodImpl(...)]

+0

Jeśli nie określisz/zoptymalizujesz, otrzymasz takie samo zachowanie jak/optimize- –

+9

używają specjalnie metody [MethodImpl (MethodImplOptions.NoOptimization)] dla metod, dla których chcesz pominąć optymalizację. Przypadek użycia: w niektórych scenariuszach, w których natywne wywołanie wywołuje inne wywołanie natywne, kompilator wygeneruje nieprawidłowy kod IL, a środowisko wykonawcze wygeneruje wyjątek InvalidProgramException podczas próby uruchomienia. Możesz wyłączyć optymalizację całego programu lub użyć metody [MethodImpl (MethodImplOptions.NoOptimization)] na metodach korzystających z połączeń natywnych. Musiałem zrobić dokładnie to, aby rozwiązać ten problem w niedawnej aplikacji, nad którą pracowałem ... –

+1

[MethodImpl (MethodImplOptions.NoOptimization)] nie działa wcale. Umieściłem go na każdej pojedynczej metodzie stosu wywołań i nie ma on żadnego efektu. – vbullinger

5

You można wyłączyć optymalizacje w środowisku wykonawczym za pomocą pliku .ini: http://msdn.microsoft.com/en-us/library/9dd8z24x.aspx

Wprowadź następujący tekst do pliku .ini [na przykład Explorer.i ni]

[.NET Framework Debugging Control] 
GenerateTrackingInfo=1 
AllowOptimize=0 
1

zanim zaczniesz zmieniać ustawienia projektu, które mogą znaleźć drogę do produkcji, sprawdź, czy konfiguracja twojego rozwiązania jest ustawiona na Debugowanie, a nie Release.

miałem ten sam problem i wtedy zobaczyłem, że został ustawiony do wydania przez pomyłkę ...

enter image description here

4

wybrać konfigurację do wszystkich konfiguracjach

Set Zoptymalizowany kod pole do nierejestrowanego

enter image description here

Powiązane problemy