I know this can be done with mvc2, but is there any way for visual studio(2010)/resharper(6) to check for errors on aspx pages at compile time and halt the build? Resharper can detect the errors just fine, so it seems like there should be a way to integrate a check of all the aspx pages in to the build process.
Any tips?
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
Yes you can. The following steps will cause .aspx files to be compiled as part of a normal builk invoked by the IDE, no Resharper plugin required.
- Unload your web app (right click on the project and select ‘Unload Project’)
- Open the .csproj file in a text editor (right click on the project and select ‘Edit myProjectName.csproj’)
- At the bottom of the file find the comment which says ‘To modify your build process…’ and insert the following after that comment:
<Target Name="AfterBuild"><AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)" /></Target>
Source – Compile Aspx pages at compile time using the AspNetCompiler build task
Method 2
You probably don’t want to do this at compile time because compiling views is slow…
What you really want to do is have a NAnt (or something else) task that will XML poke this target into your web .csproj file prior to compiling the source code on your CI server.
This way your developers don’t have to put up with the time wasting of the AspNetCompiler every time they do CTRL+SHIFT+B locally in Visual Studio, but you can still alert people to views with syntax errors on the CI server by failing the CI build.
Update: Here is a method that will run your view build outside of Visual Studio, but still on your local PC 🙂
http://www.luisrocha.net/2011/10/avoiding-mvcbuildviews-build-time.html
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0