Comment publier avec succès une application Web ASP.NET en utilisant MSBuild

Publier une application web ASP.NET peut parfois sembler décourageant, surtout lorsque vos tentatives entraînent des messages d’erreur déroutants. Si vous avez essayé de publier votre application ASP.NET MVC localement en utilisant MSBuild et que vous avez rencontré le message redouté : “Projet non publiable ignoré,” ne vous inquiétez pas ! Ce blog vous guidera à travers le processus correct de publication de votre application et garantira que votre déploiement soit fluide et efficace.

Comprendre l’erreur

Lorsque vous essayez d’exécuter la cible NAnt suivante :

<target name="publish-artifacts-to-build">
    <msbuild project="my-solution.sln" target="Publish">
      <property name="Configuration" value="debug" />
      <property name="OutDir" value="builds\" />
      <arg line="/m:2 /tv:3.5" />
    </msbuild>
</target>

le message d’erreur “Projet non publiable ignoré.” apparaît car vous invoquez une cible destinée à un autre but. La cible Publish que vous essayez d’utiliser est spécifiquement conçue pour le déploiement OneClick, et non pour publier un site Web directement.

La bonne approche pour publier votre application ASP.NET

Pour publier avec succès votre application web ASP.NET, envisagez d’utiliser la tâche AspNetCompiler au lieu de la tâche MSBuild. Cette tâche est plus adaptée pour compiler votre application ASP.NET dans un format déployable.

Étapes pour publier en utilisant AspNetCompiler

Voici comment configurer l’AspNetCompiler :

  1. Créez une nouvelle cible NAnt pour la compilation ASP.NET :

    Mettez à jour votre cible NAnt pour utiliser AspNetCompiler comme suit :

    <target name="publish-artifacts-to-build">
        <aspnetcompiler 
            configuration="debug" 
            targetedframework="4.0" 
            virtualpath="/" 
            physicalpath="path\to\your\webapp" 
            outputpath="builds\" 
            debug="true">
        </aspnetcompiler>
    </target>
    
    • configuration : Définissez cette propriété sur debug ou release selon vos besoins.
    • physicalpath : Indiquez le chemin vers votre répertoire d’application web.
    • outputpath : C’est ici que les fichiers compilés seront stockés.
  2. Ajustez votre environnement :

    Assurez-vous que votre environnement est configuré pour prendre en charge la publication d’applications web ASP.NET. Cela inclut la vérification que les versions de votre SDK sont correctes et que toutes les dépendances nécessaires sont installées.

  3. Exécutez la commande de déploiement :

    Avec la cible NAnt correctement configurée, exécutez votre build. Cela compilera l’application ASP.NET et la sortira dans le répertoire que vous avez spécifié.

Ressources supplémentaires

Pour plus d’informations détaillées sur la tâche AspNetCompiler, consultez la documentation officielle sur MSDN. Cette page fournit des informations sur les propriétés et comment les utiliser efficacement pour des déploiements plus complexes.

Conclusion

Publier une application web ASP.NET peut être réalisé sans rencontrer les pièges courants. En utilisant la bonne tâche — dans ce cas, AspNetCompiler — vous vous assurerez que votre application est correctement compilée et prête pour le déploiement. Si vous suivez l’approche structurée décrite dans ce blog, vous vivrez un processus de déploiement sans heurts.

Interagissez intelligemment avec votre environnement de développement et évitez les maux de tête liés au déploiement à l’avenir !