Fare clic con il pulsante destro del mouse sul progetto Web in Esplora soluzioni. Fare clic su Unload Project
. Fare clic con il pulsante destro del mouse sul progetto e fare clic su Edit <projname>.csproj
.
Assicurati di avere questo elemento (aggiungilo se non esiste).
<Project>
<PropertyGroup>
<MvcBuildViews>true</MvcBuildViews>
</PropertyGroup>
</Project>
Scorrere verso il basso. Dovresti vedere qualche commento "Per modificare il tuo processo di compilazione, aggiungi il tuo compito all'interno di uno dei bersagli sotto e decommentalo." Sotto di esso, aggiungere questo markup:
<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<ItemGroup>
<ExtraWebConfigs Include="$(BaseIntermediateOutputPath)\**\web.config" />
<ExtraPackageTmp Include="$([System.IO.Directory]::GetDirectories("$(BaseIntermediateOutputPath)", "PackageTmp", System.IO.SearchOption.AllDirectories))" />
</ItemGroup>
<Delete Files="@(ExtraWebConfigs)" />
<RemoveDir Directories="@(ExtraPackageTmp)" />
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
</Target>
(il codice di cui sopra dovrebbe avere un genitore della radice <Project>
nodo nel caso in cui non si vede il commento che ho citato)
Chiudere il file .csproj
, poi a destra fai clic sul tuo progetto in Solution Explorer e fai clic su Reload Project
.
Questo aggiungerà le vostre viste al passo della compilazione e interromperà la vostra costruzione in caso di errori. Ho scoperto che questa è una buona cosa, perché senza di essa a volte non si notano errori nell'Elenco errori fino a quando non ho distribuito il mio sito e poi li ho colpiti manualmente. Stai attento, aggiungerà del tempo al tuo passo di costruzione, rallentandolo in modo significativo. A seconda di ciò che stai cercando di ottenere, potresti voler abilitarlo/disabilitarlo in modo selettivo per ottenere una build rapida -> flusso di lavoro di test.
L'ispirazione per questa risposta è stata presa dalla risposta di Chris Hyne a MVCBuildViews not working correctly e Can Razor views be compiled?.
Utilizzi il programma di ricerca? – Ofiris
No, non lo uso. – vtortola
RazorGenerator è molto meglio per la compilazione di viste. Prenderò in considerazione la possibilità di passare a questo indirizzo: https://visualstudiogallery.msdn.microsoft.com/1f6ec6ff-e89b-4c47-8e79-d2d68df894ec e NUGET: https://www.nuget.org/packages/RazorGenerator.Mvc/ – mattytommo