Je veux qu'une tâche msbuild compile les vues afin que je puisse voir s'il y a bien des erreurs de temps de compilation ... au moment de la compilation. Des idées?
Je veux qu'une tâche msbuild compile les vues afin que je puisse voir s'il y a bien des erreurs de temps de compilation ... au moment de la compilation. Des idées?
Réponses:
Je recommanderais franchement le paquet de pépites RazorGenerator. De cette façon, vos vues ont un .designer.cs
fichier généré lorsque vous les enregistrez et en plus d'obtenir des erreurs de temps de compilation pour vos vues, elles sont également précompilées dans l'assemblage (= échauffement plus rapide) et Resharper fournit également une aide supplémentaire.
Pour l'utiliser, incluez le package de nuget RazorGenerator dans votre projet ASP.NET MVC et installez l' extension " Razor Generator " sous l'élément sous Outils → Extensions et mises à jour .
Nous utilisons cela et la surcharge par compilation avec cette approche est beaucoup moins. En plus de cela, je recommanderais probablement .NET Demon de RedGate qui réduit encore davantage l'impact sur le temps de compilation.
J'espère que cela t'aides.
Extrait du fichier Lisezmoi doc pour RC1 (non indexé par Google)
Étape de post-génération du compilateur ASP.NET
Actuellement, les erreurs dans un fichier de vue ne sont détectées qu'au moment de l'exécution. Pour vous permettre de détecter ces erreurs au moment de la compilation, les projets ASP.NET MVC incluent désormais une propriété MvcBuildViews, qui est désactivée par défaut. Pour activer cette propriété, ouvrez le fichier de projet et définissez la propriété MvcBuildViews sur true, comme indiqué dans 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 temps de génération.
Vous pouvez mettre à jour les projets créés avec les versions précédentes de MVC pour inclure la validation des vues au moment de la construction en procédant comme suit:
<PropertyGroup>
:
<MvcBuildViews>true</MvcBuildViews>
<Target Name="AfterBuild">
élément et modifiez-le pour qu'il corresponde à ce qui suit:<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
</Target>
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ù " / Virtual / Application / Path / Or / Path / In / IIS / Metabase " est quelque chose comme ceci: " / MyApp " ou " / lm / w3svc2 / 1 / root / "
Il existe également une tâche AspNetCompiler 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>
De plus, si vous utilisez Resharper, vous pouvez activer Solution Wide Analysis et il détectera toutes les erreurs de compilation que vous pourriez avoir dans les fichiers aspx. Voilà ce que nous faisons ...
La réponse donnée ici fonctionne pour certaines versions de MVC mais pas pour d'autres.
La solution simple fonctionnait pour MVC1, mais lors de la mise à niveau vers MVC2, les vues n'étaient plus conformes. Cela était dû à un bogue dans les fichiers de projet du site Web. Voir cet article hacké.
Voir ceci: http://haacked.com/archive/2011/05/09/compiling-mvc-views-in-a-build-environment.aspx
Générer> Exécuter l'analyse de code
Raccourci clavier: Alt+F11
M'a aidé à détecter les erreurs de rasoir.
Utilisation des outils de productivité de Visual Studio extension ( gratuite ) de aide un peu . Plus précisément, la Solution Error Visualizer
fonctionnalité. Avec lui, les erreurs de compilation marquées visuellement dans l'explorateur de solutions (dans le fichier source où l'erreur a été trouvée). Pour une raison quelconque, cependant, cette fonctionnalité ne fonctionne pas comme avec d'autres erreurs ailleurs dans le code.
Avec les vues MVC, toutes les erreurs de compilation seront toujours soulignées en rouge dans leurs fichiers .cs respectifs, mais la signalisation de ces erreurs n'est pas propagée vers le haut dans l'Explorateur de solutions (en aucun cas, même pas dans le fichier source contenant).
Merci d' BlueClouds
avoir corrigé ma déclaration précédente.
Je viens de signaler cela comme un problème sur le projet github de l'extension.