Mam cały pakiet tych błędów w moim pliku aspx View.
Ale, buduje i działa dobrze.
Czym oni są? Jak się ich pozbyć?
Odpowiedzi:
8 dla odpowiedzi № 1Michaił Arkhipov opublikował wyjaśnienie i obejście na forach ASP.NET:
W końcu uzyskaliśmy wiarygodne repro i zidentyfikował podstawę kwestia. Wygląda na trywialne repro to:
<% if (true) { %> <%=1%> <% } %> <%=2%>
Aby zapewnić intellisense w blokach <% =%>w czas projektowania, generowany przez ASP.NET przypisanie do tymczasowej zmiennej __o a następnie język (VB lub C #) intellisense dla zmiennej. Odbywa się to, gdy widzi kompilator strony pierwszy blok <% = ...%>. Ale tu, blok jest w środku, jeśli, więc po if zamyka się, zmienna gaśnie zakresu. W końcu generujemy coś takiego:
if (true) { object @__o; @__o = 1; } @__o = 2;
Rozwiązaniem jest dodanie manekina ekspresja wcześniena stronie. Na przykład. <% = ""%>. To nie wyrenderuje cokolwiek, i to się upewni __o jest uznawany za najwyższy poziom w metodzie renderowania, przed jakimkolwiek potencjałem Instrukcja "if" (lub inne określenie zakresu).