asp.net - mvc - telerik grid asp net c#
La clase base incluye el campo ''X'', pero su tipo(System.Web.UI.ScriptManager) no es compatible con el tipo de control(System.Web.UI.ScriptManager) (12)
"La clase base incluye el campo ''ScriptManager1'', pero su tipo (System.Web.UI.ScriptManager) no es compatible con el tipo de control (System.Web.UI.ScriptManager)".
¿Alguien más ha encontrado este error?
He tenido ese tipo de error varias veces, aunque no específicamente con scriptmanager. Básicamente sucede cuando tienes un control de un tipo en la página. Y digamos que usted estuvo inactivo por algún tiempo. Pero luego eliminó el control y colocó otro en su lugar con la misma ID, que es cuando puede ocurrir. Creo que está relacionado o creado por un aspx.designer.cs desactualizado.
Para solucionar el problema. He tenido que cambiar el nombre del ID del control o reconstruir la solución. Creo que hay otra manera también. Creo que si tienes un archivo aspx.designer.cs con el nombre del archivo aspx, también puedes cambiarlo allí.
El error completo es
La clase base incluye el campo ''ScriptManager1'', pero su tipo (System.Web.UI.ScriptManager) no es compatible con el tipo de control (System.Web.UI.ScriptManager).
¿Alguien más ha encontrado este error?
Agregar la sección <runtime>
anterior solucionó el problema en nuestras máquinas de desarrollo y servidor de prueba, pero no en nuestros servidores activos.
Resulta que si su archivo web.config
contiene un atributo xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"
de xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"
, obtendrá un conflicto GAC:
BAD.web.config
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
etc
pero esta versión de la máquina devt está bien:
GOOD.web.config
<?xml version="1.0"?>
<configuration>
etc
Así que asegúrese de que la referencia 2.0 se elimine de la parte superior de su archivo web.config
.
Después de leer las respuestas aquí, me di cuenta de que el problema estaba en cómo IIS está compilando los controles, usando la versión incorrecta. <httpRuntime targetFramework="4.5.1" />
este problema actualizando la producción web.config: En <system.web>
agregue <httpRuntime targetFramework="4.5.1" />
En mi caso, simplemente cambié el framework de compilación de 2.0 a 3.5.
Esto se hace haciendo clic derecho en el nombre del proyecto (parte superior del explorador de soluciones) y seleccionando "Páginas de propiedades". a partir de ahí, seleccione la opción de compilación y cambie el marco.
Debe actualizar web.config y todas las referencias necesarias.
HTH
Dave
Esto también se puede resolver cambiando la referencia del proyecto a System.Web.Extensions 1.0.61025 u otra versión. Asegúrese de que la referencia del proyecto, la configuración web y el kit de herramientas ajax coincidan con la misma versión.
Logré arreglarlo agregando esto a 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>
Creo que obliga al tiempo de ejecución .net a usar las nuevas versiones de esos ensamblajes.
Me he encontrado con este problema al actualizar una aplicación web de .NET 2.0 a 3.5.
Compruebe que su web.config esté correctamente configurado para .NET 3.5. He añadido / cambiado lo siguiente:
<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>
También puede resolver este problema en el archivo .vbproj (en mi caso). Compruebe estas entradas:
<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>
Esto parece forzar también el uso de las DLL de la versión 3.5.
Tema muy similar. "La clase base incluye el campo ''WebUserControl1'', pero su tipo (common_WebUserControl) es ..." archivos de marcado modificados de CodeFile=
a CodeBehind=
Tuvimos el mismo problema al precompilar nuestra aplicación desde la línea de comandos utilizando el indicador "La aplicación es actualizable":
aspnet_compiler.exe -u
Eliminar la bandera -u solucionó este problema. ¡No me preguntes por qué!
Tuvimos un problema muy similar. La plataforma de desarrollo funcionó bien, pero una vez que el sitio se implementó en el sitio de prueba, se rompió con el mismo mensaje que el cartel original anterior. Teníamos subdirectorios bajo nuestro directorio de controles para agrupar los controles de los usuarios. El problema parecía ser un control en el subdirectorio que intentaba usar un control en el directorio que se encuentra arriba. Nuestra primera solución fue clonar el control de nivel superior al subdirectorio. Luego nos topamos con la idea de crear un subdirectorio de hermanos paralelos y estacionar el control allí. Eso solucionó el problema sin tener que recurrir a (a) aplanar la estructura de directorios de nuestros controles o (b) clonar el mismo control en varios subdirectorios.
Por lo tanto, nuestra solución es nunca referirnos a un control en un directorio principal desde un control de usuario en un subdirectorio.
Espero que esto ayude.
Tuvo problemas similares al actualizar de 3.5 a 4.0. En mi caso, hay un sitio web raíz y directorios de aplicaciones de IIS virtuales debajo de esto.
El código funcionó bien en mis áreas de desarrollo y puesta en escena.
Tan pronto como entró en el servidor de producción, se estrelló. A pesar de que el código era el mismo.
Mi solución fue eliminar el directorio virtual y recrearlo. Asegurarse de que el grupo de aplicaciones sea correcto y que la versión de asp.net sea correcta. (Mis servidores son Windows Server 2003 con IIS6).
Otra nota importante: no puede ejecutar varias versiones de asp.net en el mismo grupo de aplicaciones.