Lors de la tentative de déploiement d'un site Web .net 3.5 sur le pool d'applications par défaut d'IIS7 dont la section de structure est définie sur 4.0, le message d'erreur suivant s'affiche.
Une section "system.web.extensions/scripting/scriptResourceHandler" en double est définie.
Commenter les lignes incriminées n'a pas aidé non plus. Des indications sur ce que je dois faire ou regarder?
Si votre plan est de déployer sur un IIS dont un pool d'applications s'exécute sous .net 4.0, vous devrez nettoyer le fichier web.config contenant toutes les définitions de section pointant vers .net 3.5. La raison de cet échec est que ces définitions de section sont déjà incluses dans le fichier web.config racine dans .NET 4.0 (voir% windir%\Microsoft.net\framework\v4.0.30319\config\machine.config) qui incluent tout le système. web.extensions déjà déclaré.
Une autre solution rapide consiste à définir le pool d'applications sur 2.0, comme votre ordinateur de développement semble l'avoir.
Si, comme moi, vous avez besoin de cibler la v4 mais que vous ne pouvez construire avec .net 3.5, suivez les instructions ici . Remplacez simplement dans votre web.config tout le contenu du <configSections>
avec:
<configSections>
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere"/>
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
</sectionGroup>
</sectionGroup>
</sectionGroup>
Le problème est lié à la piscine par défaut 4.0. Utilitaires: Administrateur IIS serveur installé dans le serveur qui a créé le répertoire d'utilisateurs. [Entrez la description de l'image ici] [1] framework! [entrez la description de l'image ici] [2]
En savoir plus sur le problème et sur la procédure d'administration centrale de SharePoint 2010
----- via Google Translate -----
Le problème est que le pool est en défaut. Solution Net 4.0: entrez server IIS Manager pour définir les valeurs sur le côté droit des pools d'applications.! [Entrez la description de l'image ici] [1] et changez la version du framework! [Entrez la description de l'image ici] [2]
Cela devrait résoudre le problème de l'installation de l'administration centrale de SharePoint 2010
Nécromancie.
Si vous n'avez aucune entrée config-sections ni handler/module dans votre fichier web.config dans system.web.extensions, ce problème est dû au fait que vous/quelqu'un d'autre avez copié un projet VisualStudio (2013/2015/2017) avec les fichiers cachés non cachés.
Pour cette raison, il ne copie pas seulement .git, mais aussi .VS
, qui contient un fichier IIS-Express applicationhost.config, qui pointe vers les fichiers web.config à chemins qui n'existent pas (ou pire, chemins qui existent, mais n'ont pas le même contenu) ...
Solution:
Supprimez le fichier applicationhost.config du dossier .VS.
Ou supprimez simplement le dossier .VS.
Visual Studio le recréera.
Définissez le pool d'applications sur 2.0, je l'ai fait et j'ai travaillé.
Mon application était une application ASP.Net3.5 (utilisant la version 2 du framework). Lorsque les applications ASP.Net 3.5 ont été créées, Visual Studio a ajouté automatiquement scriptResourceHandler au fichier web.config. Les versions ultérieures de .Net mettent cela dans le fichier machine.config. Si vous exécutez votre application ASP.Net 3.5 avec le pool d'applications version 4 (selon l'ordre d'installation, il s'agit du pool d'applications par défaut), vous obtiendrez cette erreur.
Lorsque je suis passé à utiliser le pool d'applications version 2.0. L'erreur est partie. J'ai ensuite dû gérer l'erreur lorsque je servais .svc WCF:
Erreur HTTP 404.17 - Introuvable. Le contenu demandé semble être un script et ne sera pas servi par le gestionnaire de fichiers statiques.
Après une enquête, il semble que je devais enregistrer le gestionnaire WCF. en utilisant les étapes suivantes:
Dans mon cas, cela s'est produit après la conversion de la solution entière (à l'aide d'une extension appelée Target Framework Migrator) à la version 4.6.2, mais j'ai finalement annulé les modifications et retourné à la version 3.5 (la solution est versionnée par TFS). Pour résoudre ce problème, j'ai uniquement converti le projet problématique (qui utilisait IIS Express pour s'exécuter) en 4.6.2, puis en 3.5.
Apparemment, d'autres ont eu ce problème m. Ils reconstruisent dans Framework 4.0. Peut tu?
En outre, voyez ceci pour vous assurer que votre IIS est bien frais .
Dans mon cas, je voulais ajouter manuellement la règle urlrewrite et je ne pouvais pas voir l'erreur évidente (j'ai raté la balise <rules>
):
mauvais code:
<rewrite>
<rule name="some rule" stopProcessing="true">
<match url="some-pattenr/(.*)" />
<action type="Redirect" url="/some-ne-pattenr/{R:1}" />
</rule>
</rewrite>
</system.webServer>
</configuration>
code approprié (avec balise rules):
<rewrite>
<rules>
<rule name="some rule" stopProcessing="true">
<match url="some-pattenr/(.*)" />
<action type="Redirect" url="/some-ne-pattenr/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Dans mon cas, j'avais 2 applications différentes partageant le même pool d'applications. La première utilisait le framework .net4.5 et la nouvelle utilisait la version 2.0. Lorsque j'ai remplacé la deuxième application par son propre pool d'applications, il a commencé à fonctionner correctement sans modification du fichier web.config.
Une autre façon d'éviter ce problème qui pourrait aider les autres est de créer votre service Web .net à la version 4.0 ou supérieure, si possible.
Ce message d'erreur semble apparaître dans différentes situations.
Dans mon cas, en plus du fichier Web.Config de mon application, j'avais un fichier Web.Config supplémentaire dans le dossier racine (C:\Inetpub\www.root). Probablement parti après quelques essais, j'avais tout oublié et je ne pouvais pas comprendre le problème.
Le supprimer a résolu le problème pour moi.
Ma résolution était un peu stupide.
J'ai installé une copie de .net 3.5
Création d'un autre pool d'applications et sélection de .net 3.5 (2.0.5077 dans le menu déroulant)
Ajout de mon site à ce pool d'applications
Les anciennes et les nouvelles piscines ont été recyclées et le site a commencé à fonctionner.
Cela m'est venu à l'idée de ne pas avoir la version 3.5 installée, même si les fonctionnalités d'activation de Windows le disaient et de créer un autre pool d'applications à utiliser. J'espère que cela aide les autres.
C'est peut-être la mauvaise réponse pour vous. Mais c'était le premier coup sur Google quand j'ai essayé de résoudre mon problème. Cela dit ...
Le même message d'erreur s'est également produit pour moi, mais lorsque j'ai essayé d'exécuter IIS Express via Visual Studio.
Mon problème était que j'avais commis par erreur mon applicationhost.config à TFS. Plus tard, lorsque j'ai essayé d'exécuter le projet sur mon ordinateur portable après avoir reçu les derniers commits. c'est à ce moment que l'erreur s'est produite.
J'ai trouvé que le chemin du répertoire virtuel était incorrect.
<virtualDirectory path="/" physicalPath="C:\Users\giddan\Documents\Visual Studio 2015\Projects\ProjectName\DeV.ProjectName\DeV.ProjectName.Web" />
J'espère que cela aidera quelqu'un!
Ceci est mon premier post, alors soyez gentil:)