La classe de Base inclut le champ 'X', mais son type (System.Web.INTERFACE.ScriptManager) n'est pas compatible avec le type de contrôle (système.Web.INTERFACE.ScriptManager)
la pleine erreur est
la classe de base inclut le champ 'ScriptManager1', mais son type (System.Web.INTERFACE.ScriptManager) n'est pas compatible avec le type de contrôle (système.Web.INTERFACE.ScriptManager).
Quelqu'un d'autre est tombé sur cette erreur?
11 réponses
j'ai réussi à le corriger en ajoutant ceci à web.config:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
je crois que cela force le runtime .net à utiliser les nouvelles versions de ces assemblages.
j'ai rencontré ce problème lors de la mise à niveau d'une application web de .NET 2.0 à 3.5.
consultez votre site web.config est correctement paramétré pour .NET 3.5. J'ai ajouté/modifié le code suivant:
<configSections>
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
</sectionGroup>
</sectionGroup>
</sectionGroup>
</configSections>
<assemblies>
<!--<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>-->
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
<httpHandlers>
<pages enableSessionState="true" validateRequest="true">
<controls>
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</controls>
</pages>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</httpModules>
ajouter le <runtime>
la section ci-dessus a corrigé le problème sur nos machines de développement et nos serveurs de test, mais pas sur nos serveurs en direct.
Il s'avère que si votre web.config
le fichier contient un attribut xmlns xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"
ensuite, vous aurez un GAC conflit:
BAD.web.config
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
etc
mais cette version de l'devt la machine est très bien:
GOOD.web.config
<?xml version="1.0"?>
<configuration>
etc
alors assurez-vous que la référence 2.0 est retirée du haut de votre web.config
fichier.
Vous pouvez également résoudre ce problème dans le .fichier vbproj (dans mon cas). Vérifier ces entrées:
<Reference Include="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
cela semble aussi forcer l'utilisation de la version 3.5 DLLs.
Nous avons eu un problème similaire. La plate-forme de développement fonctionnait bien, mais une fois le site déployé sur le site d'essai, il a rompu avec le même message que l'affiche originale ci-dessus. Nous avions des sous-répertoires dans notre répertoire des contrôles pour regrouper les contrôles des utilisateurs. Le problème est apparu à un contrôle dans le sous-répertoire d'essayer d'utiliser un contrôle dans le répertoire ci-dessus. Notre première Solution a été de cloner le contrôle de niveau supérieur dans le sous-répertoire. Nous avons ensuite eu l'idée de créer un parallèle frère sous-répertoire et le stationnement de la lutte. Cela a résolu le problème sans avoir à recourir à (a) aplatir notre structure de répertoire de contrôles ou (B) cloner le même contrôle dans divers sous-répertoires.
Donc, notre solution est de ne jamais faire référence à un contrôle dans un répertoire parent d'un contrôle utilisateur dans un sous-répertoire.
j'espère que cette aide.
ceci peut aussi être résolu en changeant la référence du projet au système.Web.Extensions 1.0.61025 ou une autre version, assurez-vous que la référence du projet, la configuration web et la boîte à outils ajax correspondent toutes à la même version.
nous avons eu ce même problème en précompilant notre application depuis la ligne de commande en utilisant le drapeau "Application is updable":
aspnet_compiler.exe -u
la suppression du drapeau-u a résolu ce problème. Ne me demandez pas pourquoi!
question très similaire. "La classe de base inclut le champ 'WebUserControl1', mais son type (common_WebUserControl) est ..."a changé de balisage des fichiers à partir de CodeFile=
CodeBehind=
dans mon cas, je viens de passer le cadre de construction de 2.0 à 3.5.
pour ce faire, cliquez avec le bouton droit de la souris sur le nom du projet (en haut de l'Explorateur de solutions) et sélectionnez "Propriétés". à partir de là, sélectionnez build option et changez le cadre.
il devrait mettre à jour web.config et toutes les références nécessaires.
HTH
Dave
avait des problèmes similaires de mise à jour de 3.5 à 4.0. Dans mon cas, il y a un site Web racine, et des répertoires d'applications IIS virtuels sous ceci.
le code a bien fonctionné dans mes zones de développement et de transit.
dès Qu'il est allé sur le serveur de production, il s'est écrasé. Même si le code était le même.
ma solution était de supprimer le répertoire virtuel et de le recréer. S'assurer que le bassin d'applications est correct, et le asp.net version is correct. (mes serveurs sont Windows server 2003 avec IIS6).
une autre note IMPORTANTE - Vous ne pouvez pas exécuter plusieurs asp.net versions dans le même pool d'applications.
"la classe de base inclut le champ 'ScriptManager1', mais son type (Système.Web.INTERFACE.ScriptManager) n'est pas compatible avec le type de contrôle (Système.Web.INTERFACE.ScriptManager)."
Quelqu'un d'autre est tombé sur cette erreur?
j'ai eu ce genre d'erreur plusieurs fois, mais pas spécialement avec scriptmanager. Fondamentalement, il arrive quand vous avez un contrôle d'un type sur la page. Et disons que vous avez été inactif pendant un moment. Mais alors vous supprimer la commande et mettre une autre à sa place avec le même ID, qui est quand il peut se produire. Je crois qu'il est lié ou créé par un aspx dépassé.designer.cs.
pour régler le problème. J'ai dû soit changer le nom de L'ID du contrôle, soit reconstruire la solution. Je pense qu'il y a une autre façon trop. Je pense que si vous avez un aspx.designer.cs fichier le nom du fichier aspx vous pouvez le modifier dans.