StackExchange.Precompilation
Replacing csc.exe
Install-Package StackExchange.Precompilation.Build -Pre
Replacing aspnet_compiler.exe for .cshtml precompilation
Install-Package StackExchange.Precompilation.Build -Pre
- Add
<PropertyGroup><SEPrecompilerIncludeRazor>true</SEPrecompilerIncludeRazor></PropertyGroup>
to your .csproj file (usually replacing theMvcBuildViews
property)
Using precompiled views
Using C# 7 in ASP.NET MVC 5
Meta-programming
- Create a new project
Install-Package StackExchange.Precompilation -Pre
- Implement the ICompileModule interface
Install-Package StackExchange.Precompilation.Build -Pre
in the target project- Configure your new module in the target project's web.config or app.config
Development
if you have an existing project with StackExchange.Precompilation packages and encounter a bug you can simply:
- pull this repo
- increment semver.txt
- make the fix in the source code
- run BuildAndPack.ps1 (requires a console with VS env vars in your PATH, I recommend powershell with Posh-VsVars)
- setup a nuget source pointing at .\packages\obj
- after that you can update the packages StackExchange.Precompilation in your target project from the packages\obj source
- this gives you local *-local{timestamp} suffixed packages instead of the *-alpha{build} ones produced by the CI build
- PROTIP: if you want to attach an debugger to the compilation of your project or any of the Test.* projects, add a
System.Diagnostics.Debugger.Launch()
statement somewhere in the code ;) - CI *-alpha{build} packages are available on the stackoverflow myget feed https://www.myget.org/F/stackoverflow/api/v2