Précompilation pour le déploiement
-
15-11-2019 - |
Question
Après avoir exploré le sujet Précompilation pour le déploiement, je souhaite améliorer mon processus de construction.Maintenant, ce que je fais c'est :
- préparer un site Web à l'aide de Web One Click Publish, par exemple pour
c:\www\app
répertoire, et ce répertoire est disponible dans IIS via l'application (localhost/app
) - je lance
aspnet_compiler.exe -v app c:\www\appprecompiled -f
Maintenant, j'ai une application précompilée prête dans c:\www\appprecompiled
et tout va bien.Cependant, ma demande est assez volumineuse et sa publication (étape 1) prend environ 5 minutes à partir de zéro.Je me demande donc s'il est possible d'éviter la première étape et d'effectuer l'étape 2 (précompilation) avec le dossier source pointant vers le dossier solution.J'ai essayé quelque chose comme ceci :
aspnet_compiler.exe -v codeapp c:\code\app -f
Où c:\code\app
est le dossier contenant les fichiers web.config, etc., en gros, c'est un projet avec un site Web et ce dossier est disponible via http://localhost/codeapp
.
Mais lors du lancement de cette commande, j'obtiens des erreurs concernant les erreurs global.asax ou web.config manquantes :
C:\code\app\obj\debug\package\packagetmp\web.config(18) :erreur ASPCONFIG :Il s'agit d'une erreur d'utiliser une section enregistrée comme allowDefinition = 'MachinetoApplication' au-delà du niveau d'application.Cette erreur peut être causée par un répertoire virtuel qui n'est pas configuré en tant qu'application dans IIS.
Et pour mémoire, j'utilise Application, pas Virtual Directory.
Existe-t-il donc un moyen d'effectuer une précompilation sur un simple dossier de site Web ?
La solution
j'ai utilisé
ASPNET_COMPILER -P PhysicalorRelativePath -V / TargetPath
depuis http://msdn.microsoft.com/en-us/library/ms227976(v=VS.80).aspx et supprimé le dossier obj avant de l'exécuter, et la précompilation fonctionne :)