46 votes

Les vues Razor peuvent-elles être compilées?

Je me demandais si des vues Razor pourraient être compilées, comme des vues basées sur WebForm?

Est-il même logique de compiler les points de vue de Razor et pourquoi quelqu'un voudrait-il le faire?

58voto

tugberk Points 16203

Edit:

Voici un blog sur ce sujet ainsi:

Comment Détecter les Erreurs de Nos ASP.NET MVC points de Vue sur le Temps de Compilation

Pour faire de votre point de vue à être compilé, procédez de la manière suivante;

  1. Décharger votre projet par le droit en cliquant sur le projet sur la solution explorer dans VS et en cliquant sur le décharger projet
  2. cliquez-droit sur le projet, qui a été convertis indisponible projet et cliquez sur "Modifier your_project_name.csproj" (qui serait .vbproj si votre projet est projet VB)
  3. voir le code suivant;

    <!--There some lines of code here and I deleted them to get to the point quickly-->
    
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <MvcBuildViews>false</MvcBuildViews>
    

  4. modifier la MvcBuildViews valeur de balise de false de true

  5. après que la sauvegarder et de recharger votre projet.

après vous construisez votre solution pour le compiler, vous verrez que votre vue sera compilé trop.

REMARQUE: pour tester, briser un peu de code dans l'un de vos point de vue sur le but et essayer de construire. vous verrez que vous obtiendrez un message d'erreur.

32voto

Steve Rukuts Points 2708

Le MvcBuildViews case est excellente, mais il ajoute un 5-10 secondes de pénalité pour la création de votre web app si c'est assez complexe. Il n'a pas de cache de la compilation de sortie de sorte qu'il n'est une compilation complète de tous vos points de vue à chaque fois.

J'ai trouvé un bon compromis en suivant les conseils ci-dessus et en ajoutant une Condition de l'attribut:

<MvcBuildViews Condition=" '$(Configuration)' == 'Release' ">true</MvcBuildViews>

Nous nous attendons à ce ReSharper pour signaler des erreurs dans les points de vue de toute façon et le développeur peut toujours construire dans la configuration de version comme un test, nous avons un "contrôle en amont" script que les développeurs d'exécuter, de sorte qu'ils peuvent facilement assurez-vous que le paquet de cibles et de travail - et si tout cela échoue, le serveur de création de l'attraper.

Peut-être que ce truc, c'est évident, mais je n'ai vraiment commencé à apprendre à propos de msbuild correctement plutôt que d'écrire des scripts Powershell pour ces tâches. J'espère que c'est utile à quelqu'un.

24voto

Sergi Papaseit Points 8979

Oui, vous pouvez. Jetez un oeil à l'article suivant: Compilez vos vues asp.net mvc Razor dans une dll séparée

C'est un guide "étape par étape" sur la façon de compiler vos vues de rasoir dans une DLL séparée. Je ne sais pas si c'est ce que vous souhaitez faire mais cela vous mènera certainement dans la bonne direction.

1voto

Tejs Points 23834

Oui c'est possible. En fait, le meilleur exemple auquel je puisse penser serait les moteurs de templates de courrier électronique. Si vous compilez et mettez en cache le modèle, vous pouvez rapidement extraire les courriels sans avoir à reprendre l'analyse.

C'est un bon exemple d'utilisation de Razor en dehors de MVC.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X