2009-12-03 10 views
0

Je développe en fonction d'une API d'un CMS .net.évitez de compiler tout le projet asp.net?

Maintenant, je crée ma propre classe avec du code.

Chaque fois que je télécharge ma classe ... la recompilation ou le rechargement du site Web prend tellement de temps.

Est-il possible d'empêcher de compiler les autres classes de base que je n'ai pas touchées et non réutilisées et seulement les nouvelles téléchargées?

Merci.

+1

une question si stupide, wa :)? –

Répondre

2

.NET est un langage compilé de sorte que vous ne pouvez pas "compiler" juste quelques classes. Mais vous pouvez précompiler le site entier après avoir ajouté certains fichiers, ce qui peut accélérer le "démarrage à froid", il ne devrait donc pas être précompilé lors de la première visite. Si vous utilisez l'outil "Publier" dans VS, vous pouvez ajouter un événement de génération de message qui appelle précompilateur sur l'emplacement publié. Vous rencontrerez toujours un temps de démarrage plus long au premier accès, vous ne pouvez pas éviter cela. Au moins, je ne sais pas comment ...
La deuxième option est ngen.exe, qui va créer une image native à partir de votre code .net géré par IL, et réduire le temps de démarrage (à la première demande, .net verra ce natif image et juste l'exécuter). Mais avec l'utilisation de ngen.exe, vous perdez une partie de l'optimisation de l'exécution, car ngen doit "jouer en toute sécurité", donc SSE et une optimisation similaire ne sont pas possibles. Il est recommandé d'effectuer un profilage des performances sur l'utilisation de ngen.exe, dans certains cas, l'application sera plus lente!

+0

Merci. ok, donc je dois créer une DLL de ma classe et le jeter dans le dossier bin. , correct? –

+0

c'est correct. À la première demande, le site sera recompilé parce que la nouvelle DLL, ou vous pouvez démarrer le script précompiler vous-même. –

Questions connexes