Je travaille sur une application ASP.Net MVC 3 depuis quelques temps, et la semaine dernière est venue l’épreuve ultime, fatale et diabolique du déploiement.
Et bien figurez-vous que tout a marché du premier coup ! Bon ok, vous ne me croyez pas, et vous avez raison... En même temps qui a déjà vu un site marcher complètement du premier coup ?

Il faut savoir que pour fonctionner, un site web ASP.Net MVC 3 aura besoin de certaines DLL, à savoir :
- System.Web.Mvc,
- Microsoft.Web.Infrastructure,
- System.Web.Helpers,
- System.Web.Razor,
- System.Web.WebPages,
- System.Web.WebPages.Deployment,
- System.Web.WebPages.Razor.
Pour inclure ces bibliothèques dans le processus de publication de votre solution, il y a 2 façons de faire.
Tout d’abord la plus simple, faire clic droit sur votre projet ASP.Net MVC et cliquer sur Add Deployable Dependencies :
Puis vous devez sélectionner, dans la fenêtre qui apparait, ASP.Net MVC :
Visual Studio va alors créer automatiquement un dossier nommé _bin_deployableAssemblies dans lequel il insèrera toutes les bibliothèques nécessaires au bon déploiement de l’application.
Si l’option Add Deployable Dependencies n’est pas disponible (
ou si vous aimez vous compliquer la vie 
), vous pouvez faire ceci à la main :
- Tout d’abord, ajoutez chacune de ces bibliothèques dans vos références de projet,
- Puis, pour chaque DLL, allez dans ses propriétés et passez sa valeur Copy Local à true.
Vous n’avez plus qu’à publier votre site, et à le déployer dans votre IIS 7, après avoir préalablement vérifié que votre pool d’application est bien en Framework 4.
Bonne journée à tous !
Tutoriel technique / HowTo
Vous voulez déployer votre blog sur votre serveur (Windows Server 2003 ou 2008), mais vous ne jurez que par le .Net ? BlogEngine est fait pour vous ! Il s'agit d'un des nombreux (2, oui, à partir de deux on peut dire "nombreux"... ou pas) moteurs de blog en ASP.Net.
Je vous l'accorde, c'est un peu comme prendre un lance-roquette pour tuer une mouche mais bon... On est développeur .Net ou on ne l'est pas !
La dernière version de BlogEngine (la version 2.0) est d'ailleurs sortie il y a peu. Malheureusement, cette version est compilée en Framework 3.5. Hors, tant qu'à faire, j'aurais bien aimé passer cette version en Framework 4 pour ne pas avoir à gérer plusieurs pools d'application différents. Comme vous allez le voir, c'est d'une simplicité enfantine à revoir...
Voici comment procéder :
- Tout d'abord, récupérez sur le site officiel les sources de BlogEngine2.0.
- Ensuite, suivez ce tutoriel qui vous indiquera quoi faire pour passer sans soucis votre solution VS en framework 4.
- Vous pouvez ensuite compiler et publier votre blog dans un dossier de votre choix.
- Une fois ceci fait, vous devez enlever le "readonly" sur le dossier publié (ne vous étonnez pas s'il revient, c'est normal).
- Ensuite vous devez donner les droits d'écriture au service réseau de Windows sur App_Data (Propriétés, Sécurité, Ajouter, ...).
- Enfin vous pouvez essayer de lancer votre application...
J'ai cependant eu d'autres problèmes, dont voici les solutions :
- Si vous avez une erreur par rapport au dossier Temp, vous devez ajouter les droits d'écriture au dossier Windows\Temp au compte IIS_IUSR.
- Si vous avez une erreur sur le chargement d'une DLL en version 3.0.0.0 ou 3.5.0.0, n'hésitez pas à faire un "Aspnet_regiis -i" depuis le dossier du framework 4 (Windows\Microsoft.Net\Framework\v4.0.xxxxx).
Une fois cette procédure simple comme bonjour (euh...), votre blog sera opérationnel ! On dit merci qui ?
Qui avait dit qu'un blog était beaucoup plus simple à héberger en PHP ? Franchement ? ;)
image