2012-04-30 19 views
6

używam:Dlaczego Przestarzałe powoduje błąd?

[Obsolete("Use AnotherMethod() insted.", false)] 

2. parametr jest false ale Visual Studio pokazuje ostrzeżenie jako błąd dla każdego wywołania metody zapobiegającej przestarzałego projektu z kompilacji. Jak sprawić, by VS oznaczał te połączenia jako Ostrzeżenie, a nie Błąd?

+1

Sprawdź to odpowiedź [http://stackoverflow.com/questions/2520853/warning-as-error-how-to-rid-these][1] [1]: http://stackoverflow.com/questions/ 2520853/warning-as-error-how-to-rid-these – empi

+0

Nie jest to rozwiązanie mojego problemu. W tej odpowiedzi sugeruje się wyłączenie ostrzeżeń w ogóle, ale muszę wyłączyć tylko dla "Obsolete". –

+2

Po prostu powiedział: nie ma rozwiązania. Przestarzałe ostrzeżenie, ostrzeżenie jako błąd -> kontra wieje z błędem. Prosta logika dla początkujących. – TomTom

Odpowiedz

5

Na przestarzałym sposobem definiowania:

#pragma warning disable 0618 
     [Obsolete("test",false)] 
     private void myMethod() 

następnie przejść do Właściwości projektu, w ramach budowy, w tłumić typu ostrzeżenie typu 0618, teraz będzie ignorować tej konkretnej metody i projekt zostanie skompilowany

+0

znakowanie w pliku projektu było wystarczająco. ale musiałem zrobić to w 'csproj' bezpośrednio –

+1

Dzięki! Nie pomyślałbym o pragmie – LLL

Powiązane problemy