Blog de Florent Appointaire

Blog sur les technologies Microsoft (Windows Server, System Center, Azure, Windows Azure Pack/Azure Stack, etc;)

microsift-azure

La semaine dernière, j’ai essayé de déployer un site web sur la plateforme Azure Websites. Le déploiement c’est bien déroulé, mais quand je suis arrivé sur la page web, je me suis retrouvé avec l’erreur suivante:

image26

Pour trouver où se situe le problème, j’ai besoin de récupérer les logs du serveur IIS. Grace à cet article MSDN, j’ai pu trouver comment récupérer les logs via FTP. Je vais vous expliquer comment faire ceci.

Pour commencer, connectez-vous sur https://portal.azure.com et naviguez dans votre application web:

SNAGHTML1e8214ad

Allez dans Deployment credentials et choisissez un nom d’utilisateur unique. Cliquez sur Save:

image27

Maintenant, déplacez vous dans la partie Diagnostics logs. Dans cette partie, vous avez les informations pour connecter votre client FTP à ce site. Vous pouvez également choisir les logs que vous souhaitez activer/désactiver:

image28

Ouvrez votre client FTP (Filezilla pour moi) et fournissez les informations que vous avez récupéré précédemment. N’oubliez pas de renseigner le nom du site devant votre utilisateur:

image29

Une fois connecté, vous avez accès à ces 3 dossiers:

image30

Si vous allez dans le dossier site > root, vous verrez votre déploiement IIS:

image31

Comme je recherche les logs, je me déplace dans le dossier LogFiles à la racine du site. Ici se trouve un fichier eventlog.xml. Ce fichier contient les logs extraient du journal d’évènement du server où est exécuté le site web. Ouvrez-le:

image32 

J’ai parcouru chaque balise <data> jusqu’à trouver l’évènement suivant:

<Event><System><Provider Name=”ASP.NET 4.0.30319.0″/><EventID>1310</EventID><Level>2</Level><Task>0</Task><Keywords>Keywords</Keywords><TimeCreated SystemTime=”2015-10-30T11:31:22Z”/><EventRecordID>200681015</EventRecordID><Channel>Application</Channel><Computer>RD000D3A22D7A5</Computer><Security/></System><EventData><Data>3007</Data><Data>A compilation error has occurred.</Data><Data>10/30/2015 11:31:22 AM</Data><Data>10/30/2015 11:31:22 AM</Data><Data>8f0c8ce90d1e452dbe8957048d3c26f8</Data><Data>8</Data><Data>1</Data><Data>0</Data><Data>/LM/W3SVC/367992338/ROOT-3-130906782805054017</Data><Data>Full</Data><Data>/</Data><Data>D:\home\site\wwwroot\</Data><Data>RD000D3A22D7A5</Data><Data></Data><Data>7728</Data><Data>w3wp.exe</Data><Data>IIS APPPOOL\scugbe</Data><Data>HttpCompileException</Data><Data>(0): error CS1617: Invalid option ‘6’ for /langversion; must be ISO-1, ISO-2, 3, 4, 5 or Default

at System.Web.Compilation.AssemblyBuilder.Compile()
at System.Web.Compilation.BuildProvidersCompiler.PerformBuild()
at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)
at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)
at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp)
at System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
at System.Web.UI.PageHandlerFactory.GetHandler(HttpContext context, String requestType, String virtualPath, String path)
at System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously)

</Data>

Le problème ici est clairement mon paramètre /langversion dans mon fichier Web.config. Il a une valeur de 6, qui n’est pas valide avec ce type de déploiement.

Le paramètre doit clairement avoir une des valeurs suivantes : ISO-1, ISO-2, 3, 4, 5 or Default. J’ai donc modifié dans mon Web.config la valeur à 5 et j’ai redéployé mon site web. Après avoir rafraichi la page, je n’ai plus eu d’erreur:

image33

Cette fonctionnalité est très utile pour débugger un programme ou une application web Sourire

Facebook Like
Anonymous