Je veux une tâche msbuild pour compiler les vues que je puisse voir si il y a des erreurs de compilation au puits... moment de la compilation. Toutes les idées ?
Réponses
Trop de publicités?À partir de ce fichier word doc pour la RC1 (non indexées par google)
ASP.NET Compilateur Étape de Post-construction
Actuellement, les erreurs dans un fichier de vue ne sont pas détectés jusqu'à l'exécution. Pour vous permettre de détecter ces erreurs lors de la compilation, ASP.NET MVC projets comprennent maintenant une MvcBuildViews de la propriété, qui est désactivé par défaut. Pour activer cette propriété, ouvrez le fichier de projet et de définir le MvcBuildViews true à la propriété, comme le montre l'exemple suivant:
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MvcBuildViews>true</MvcBuildViews>
</PropertyGroup>
Remarque l'Activation de cette fonctionnalité ajoute une surcharge au moment de la construction.
Vous pouvez mettre à jour des projets qui ont été créés avec les versions précédentes de la MVC pour inclure au moment de la construction de la validation de vues en effectuant les étapes suivantes:
- Ouvrez le fichier de projet dans un éditeur de texte.
- Ajoutez l'élément suivant sous le haut-la plupart des <PropertyGroup> élément: <MvcBuildViews>true</MvcBuildViews>
- À la fin du fichier de projet, décommentez la <Target Name="AfterBuild"> élément et de le modifier pour faire correspondre les éléments suivants:
<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
</Target>
Franchement, je recommande la RazorGenerator package nuget. De cette façon, vos points de vue ont une .le concepteur.cs fichier généré lorsque vous les enregistrez et sur le dessus de l'obtention de la compilation des erreurs pour vous vues, ils sont également pré-compilé dans l'assemblée (= plus rapide de chauffe) et Resharper fournit de l'aide supplémentaire.
Pour utiliser le RazorGenerator package nuget en vous ASP.NET projet MVC et installer le "Rasoir" générateurs de prorogation en vertu de l'article sous Outils -> Extensions et Mises à jour
Nous utilisons cette et les frais généraux par compiler avec cette approche est beaucoup moins. Sur le dessus de cela, je vous recommanderais sûrement .NET Démon par RedGate ce qui réduit encore le temps de compilation impact sensiblement.
Espérons que cette aide.
Vous pouvez utiliser aspnet_compiler pour cela:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler -v /Virtual/Application/Path/Or/Path/In/IIS/Metabase -p C:\Path\To\Your\WebProject -f -errorstack C:\Where\To\Put\Compiled\Site
où "/Virtuel/Application/Emplacement/Ou/Chemin/De/IIS/Métabase" est quelque chose comme ceci: "/MyApp" ou "/lm/w3svc2/1/root/"
Il y a aussi un AspNetCompiler Tâche sur MSDN, montrant comment intégrer aspnet_compiler avec MSBuild:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="PrecompileWeb">
<AspNetCompiler
VirtualPath="/MyWebSite"
PhysicalPath="c:\inetpub\wwwroot\MyWebSite\"
TargetPath="c:\precompiledweb\MyWebSite\"
Force="true"
Debug="true"
/>
</Target>
</Project>