Sprawdzanie błędów

Podczas zapoznawania się z ASP.NET .oraz MVC2 trafiłem na coś, co jest bardzo denerwujące. Mianowicie strony aspx nie są kompilowane podczas kompilacji samego projektu. Jaki jest tego skutek? Dodatkowa robota w poszukiwaniu błędów wynikających z literówek. Jednak do rzeczy….

Moja testowa aplikacja wypluła taki błąd:

Server Error in ‚/’ Application.


Compilation Error

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS1002: ; expected

Source Error:

 

 

Line 14:     <script src=”../../Scripts/MicrosoftMvcAjax.js” type=”text/javascript”></script>

Line 15:     <script src=”../../Scripts/MicrosoftMvcValidation.js” type=”text/javascript”></script>

Line 16:     <% Html.EnableClientValidation() %>

Line 17:         

Line 18:         <% using (Html.BeginForm()) {%>

 

Z czego widać, że brakuje ; w linii 16-tej. Prosta i oczywista sprawa, jednak trochę irytująca, ponieważ podczas kompilacji Visual Studio nie poinformowało mnie o tym problemie, trafiłem na niego dopiero ruszając ten konkretny kawałek kodu przechodząc na odpowiednią stronę.

Co gorsze, jak otworzymy odpowiedni plik, wówczas VS raczy nas poinformować o błędzie:

 

 

Zatem jak sobie z tym poradzić?

Należy włączyć kompilację stron aspx. W tym celu wystarczy wyłączyć projekt

Poprzez wykonanie unload Project a następnie wprowadzić zmiany w pliku csproj

To co nas interesuje to wpis MvcBuildViews.

Zmieniając tą wartość na true powodujemy, że Visual Studio będzie kompilować również strony aspx i każda literówka jak wyżej zostanie wyłapana przy pierwszej kompilacji. Zatem po wprowadzeniu zmiany pozostaje zapisać zmiany w pliku oraz załadować projekt ponownie.

Wreszcie podczas kompilacji dostajemy błąd:

Pozostaje dodać zapomniany ; i pracować dalej.