¿Cómo obliga a Visual Studio a regenerar los archivos .designer para archivos aspx / ascx?

395

A veces, cuando edito la página o controlo, los archivos .designer dejan de actualizarse con los nuevos controles que estoy poniendo en la página. No estoy seguro de qué está causando que esto suceda, pero me pregunto si hay alguna forma de obligar a Visual Studio a regenerar el archivo .designer. Estoy usando Visual Studio 2008

EDITAR: Lo siento, debería haber notado que ya lo intenté:

  • Cerrar y volver a abrir todos los archivos y Visual Studio
  • Realizar un cambio en un control runat = "server" en la página
  • Eliminar y volver a agregar la directiva de página
Glenn Slaven
fuente
57
¿Es ridículo que en 2012 Visual Studio todavía no tenga un elemento de menú contextual para regenerar archivos de diseñador a partir de archivos fuente? Es similar a no poder reconstruir una DLL corrupta. No lo entiendo. Especialmente con el control de fuente externa y los editores externos, deja Visual Studio paralizado. Pérdida de dinero, si me preguntas. En realidad estoy tratando de regenerar diseñadores de archivos de recursos. Me las arreglé para volver a editarlo , pero es a través de la oscuridad ... ¡¡¡Augh !!! 1
bambams
3
@bamccaig, si tuviera un centavo por cada "característica" extraña como esta, sería más rico que Bill Gates. Si crees que esto es malo, mira dónde Outlook Express almacena sus datos de correo. Está enterrado en la carpeta del usuario debajo de un nombre de carpeta críptico que está oculto por defecto.
ATL_DEV
13
¿Hay alguna solución para VS 2015?
Anton
Vea stackoverflow.com/questions/6508252/… relacionado para otros intentos.
goodeye
2
No es una solución permanente, pero esto restaura las referencias de control en el archivo .cs: 1. Abra el archivo .aspx relacionado; 2. Elimine el único ">" al final de la <%@ Pagelínea directiva; 3. Espera un segundo o dos; 4. Vuelva a colocar el ">". 5. Cambie al archivo .cs y verá que ahora está libre de errores de referencia de control. He estado haciendo esto durante años, funciona siempre, en todas las versiones de VS.
ingrediente_15939

Respuestas:

368

Si abre el archivo .aspx y cambia entre la vista de diseño y la vista html y viceversa, le pedirá a VS que verifique los controles y agregue los que faltan al archivo del diseñador.

En VS2013-15 hay un comando Convertir a aplicación web en el menú Proyecto . Antes de VS2013, esta opción estaba disponible en el menú contextual del botón derecho para archivos como (c / p) x. Cuando haya terminado, debería ver que ahora tiene un archivo * .Designer.cs disponible y sus controles dentro del HTML de diseño estarán disponibles para su control.

PD: Esto no debe hacerse en modo de depuración, ya que no todo se "recompila" al depurar.

Algunas personas también han informado de éxito (haciendo una copia de seguridad de su archivo .designer.cs y luego) eliminando el archivo .designer.cs. Vuelva a crear un archivo vacío con el mismo nombre.

Hay muchos comentarios a esta respuesta que agregan consejos sobre la mejor manera de volver a crear el archivo designer.cs.

Espo
fuente
1
Esto solo funcionó para mí después de cerrar cada instancia (incluso aquellas con soluciones totalmente diferentes) de VS2008
Kevin
11
Descubrí que cambiar del modo de depuración al modo de liberación me ayudó, gracias
Chris:
55
Solo quería decir que estaba teniendo el mismo error e intenté todo en esta página, sin que nada funcionara. Resultó que me faltaba una etiqueta de cierre ">" en un div que tenía runat = "server". Ejecutando VS-2008.
Ber53rker
10
Para hacer que aparezca "Convertir a aplicación web", primero debe eliminar el archivo Designer.cs HACIENDO CLIC A LA DERECHA en el archivo aspx en el Explorador de soluciones y seleccionando eliminar. Esto funcionó para mí en VS 2010.
DeveloperDan
43
VS2013 tiene la aplicación Convertir a Web en el menú Proyecto. Simplemente ya no está en el menú contextual.
Dennis Burton
95

Bueno, encontré una solución que funciona, aunque realmente no me gusta. Tuve que eliminar el archivo .designer.cs y luego volver a crear un archivo vacío con el mismo nombre. Cuando volví y guardé el archivo aspx nuevamente, el archivo del diseñador se volvió a generar.

¡Astuto!

Glenn Slaven
fuente
3
Esto también funcionó para mí. No es ideal. No tengo idea de por qué el archivo de diseño original dejó de actualizarse correctamente.
Iain Holder
3
Esto no funcionó para mí. ¡Ahora tengo un archivo vacío y todo el código detrás no funciona! Reiniciando ...
DiningPhilanderer
77
Esto funcionó para mí. Me aseguré de eliminar el original, crear un nuevo archivo designer.cs con el mismo nombre, cerrar el nuevo archivo, modificar ligeramente el archivo .as (p / c) x para forzar un guardado, luego todo estuvo bien.
TJB
99
Si tiene un error de compilación de vista, no volverá. En general, es por eso que deja de regenerarse en primer lugar. Debe activar la compilación de vista para verla, lo que no es sencillo.
DevelopingChris
1
También tuve que incluir el archivo vacío en mi proyecto.
JP Hellemons
78

Yo uso el siguiente método que funciona cada vez:

  • Seleccione todo el código frontal (marcado html, etc.) en el editor del archivo aspx / ascx.
  • Cortar.
  • Salvar.
  • Pegar.
  • Salvar.

Recompilar

Ruvan Fernando
fuente
1
Creo que solo eliminar un solo control y volver a agregarlo tiene el mismo efecto.
Chris
Hice esto y funcionó para mí. Sin embargo, tuve que crear un archivo vacío llamado <name>.aspx.designer.vbpara que funcione
Tahir Hassan
64

Hace poco vi que estaba teniendo el mismo problema. Visual Studio 2010 se negaba a actualizar el archivo del diseñador.

Como resultado, VS no modifica el archivo del diseñador para una página que usa CodeFile (ejecutado fuera de páginas) en lugar de CodeBehind (DLL). Esto es cierto sin importar cuántas veces cierre VS, vuelva a cargar el proyecto, vuelva a crear los controles o modifique un archivo. Nada incitaría a VS a regenerar al diseñador. Es como si no creara el archivo de diseño para las páginas de CodeFile, pero sí requiere que esté allí.

Lo cambié a CodeBehind y guardé la página. El archivo del diseñador se actualizó de inmediato. Luego lo cambié y todo seguía dorado. Este comportamiento parece ser nuevo con VS 2010 / .NET 4.0 ya que VS 2008 por defecto no sufrió esto.

Es esta parte:

<%@ Page Language="vb" AutoEventWireup="false" CodeFile="YourPage.aspx.vb" Inherits="YourPageClass" %>

Cambie CodeFile a CodeBehind, guarde y luego revierta.

Geoff
fuente
Tarde a este hilo. Ninguna de las respuestas descritas anteriormente obliga a los controles a enumerarse en * .aspx.designer.cs. Esperaba que este lo hiciera, pero todavía no obliga a declarar los controles en el archivo * .aspx.designer.cs. Estoy usando VS 2010 Pro SP1. Estoy tratando de hacer que esto funcione con cualquiera de los archivos predeterminados que el IDE genera en / Cuenta como ChangePassword.aspx. Gracias.
paparush
1
La mía se configuró en CodeFile, cambié a CodeBehind, guardé, volví a CodeFile, guardé, todo es Golden. Los intentos anteriores de arreglos no lo hicieron por mí. VS 2010 Pro
Dan
37

Hay otra posibilidad: puede tener un error en su archivo .aspx que no permite que Visual Studio regenere el diseñador.

Si cambia a la Vista de diseño, mostrará el control como incapaz de representarse. Arreglar el control (en mi caso era una cita extra en las propiedades) y recompilar debería regenerar el diseñador.

y0mbo
fuente
Tuve el mismo problema, el control de usuario tenía errores, por lo que las páginas que usan el control de usuario tenían errores no relacionados debido a los errores en el control de usuario.
Ronen Festinger el
1
La misma causa Tenía un atributo no compatible visible = "false" agregado a un botón asp. Lo eliminé y el código del diseñador se volvió a generar.
chingNotCHing
21

La mayoría de las soluciones aquí no funcionan si está ejecutando Visual Studio 2013 y posiblemente 2012. Microsoft probablemente introdujo algunas optimizaciones para hacer que el IDE sea más ágil, en consecuencia, han reducido el número de casos que activan el generador de código. Los siguientes escenarios que solían funcionar ya no funcionan:

  1. Eliminar el archivo aspx o ascx: ya no se verifica este caso
  2. Corte todo el contenido y vuelva a pegarlo en el archivo aspx o ascx: ya no funciona, no hay cambios en las referencias
  3. Convertir a aplicación web: la opción ya no está disponible
  4. Cambio arbitrario de contenido en el archivo aspx / ascx: ya no funciona (consulte 2).

La solución es sorprendentemente simple, pero es un poco engorrosa. Para activar el generador de código, cambie algo que requiera que se genere el designer.aspx.cs. Cambiar el contenido que no afecta el código, como un estilo CSS o agregar texto, no activará el generador de código. Debe cambiar un control referenciado. Aquí se explica cómo hacerlo:

En ascx o aspx cambie la ID del control

<asp:HyperLink ID="MyLink" runat="server" NavigateUrl="~/Default.aspx" Text="Home" />

a

<asp:HyperLink ID="theLINK" runat="server" NavigateUrl="~/Default.aspx" CssClass="tab" Text="Home" />

Vaya a ascx.cs o aspx.cs y asegúrese de cambiar el nombre de todas las referencias a "MyLink" a "theLINK" también. Ahorre y construya y debería estar listo para comenzar.

ATL_DEV
fuente
Muy buen punto sobre los cambios en la versión más reciente de Visual Studio. Lo que funcionó para mí en lugar de jugar con los ID como se indica arriba, fue borrar el archivo del diseñador, luego agregar un control nuevo y benigno como <asp: PlaceHolder ID = "Foo" runat = "server /> y luego guardar para activar regeneración. Entonces, incluso si se olvida de eliminarlo, nada se ve afectado.
Jordan Rieger
8
3. 'Convertir a aplicación web' está disponible en el menú 'PROYECTO' si se selecciona un archivo apropiado.
WynandB
2
Hmm Desafortunadamente, esta opción no está disponible si ya es una aplicación web.
ATL_DEV
Un cambio rápido es editar la parte del espacio de nombres del atributo Inherits =. Esto debería editar el espacio de nombres en el archivo .designer y regenerar todo el contenido dentro. Acabo de probar esto con VS2013.3.
David Russell el
Hola, normalmente trato con la forma en que proporcionó, pero el problema es que otro usuario no puede generar el archivo g.cs mientras que solo el administrador puede hacerlo. Estamos usando TFS, con el uso de varios ID de usuario de desarrolladores en VS, podemos generar g.cs. ¿Cuáles son los derechos necesarios para generar g.cs en el servidor, TFS y SP?
nirav
14

la única forma que sé es eliminar el archivo del diseñador y realizar una conversión a la aplicación web. Sin embargo, cuando hace esto, generalmente aparece con el error, en cuanto a por qué no se auto regenera en primer lugar, generalmente es una referencia de control que no se declara en el encabezado de la página.

Chris en desarrollo
fuente
Lo siento, no funcionó, funcionó en VS 2008 para mí desde que comencé a usarlo. ¿Hay un error de sintaxis en su página? Deberías obtener un cuadro de diálogo que te diga qué arreglar para terminar de funcionar.
DevelopingChris
Esto funcionó para mí. La clase de código subyacente tenía una int Idpropiedad que se compila muy bien en C # ya que distingue entre mayúsculas y minúsculas. Pero ID="ControlName"en la página aspx estaba tratando de hacer Id = "ControlName". Convert to Web Appdicho algo así ControlName cannot be converted to Int32.
Nelson Rothermel
9

Convertir a aplicación web no funcionó para mí.

La eliminación de designer.cs y pegar un designer.cs en blanco tampoco funcionó.

Pero sí, esto funcionó:

  1. Seleccionar todo (Default.aspx)
  2. Cortar
  3. Guardar Default.aspx
  4. Pegar
  5. Guardar Default.aspx

Hecho. Nuevo designer.cs generado. :)

OD
fuente
Puedo confirmar que esto funciona en VS2013, simplemente lo hice y resolvió mis problemas.
ToastyMallows
Usted. tener. tiene. a. ser. bromeando yo. Esto funcionó para mí en VS2015, cuando la conversión como en la respuesta seleccionada no lo hizo.
GraehamF
6

A menudo descubrí que copiar / pegar me causó este comportamiento . La mayoría de los casos se pueden resolver editando la ID de un control de servidor (simplemente agregue un carácter y luego bórrelo).

También recuerde que el control dentro de cosas como los repetidores no son visibles en el archivo del diseñador.

Y sí, hay casos en los que necesita hacer la magia de eliminar el archivo que se menciona arriba, pero la solución de cambio de nombre funcionará la mayor parte del tiempo.

Sobrevolado
fuente
2
Ese es el tipo de error que tengo muchas veces. Si copia HTML de una página a otra y tiene controles con runat = "server", los controles cambiarán de nombre para evitar conflictos. Sin embargo, si pega dentro de las etiquetas "html comment" <! - whaterver ->, los ID de control no se cambiarán y cualquier conflicto detendrá la regeneración del archivo del diseñador, porque hay dos controles con la misma ID. Esto se debe a que también se crean controles dentro de las etiquetas "comentarios" html. ;)
tomasofen
5

Mi experiencia es que si quieres hacer lo mismo en este artículo, como se indicó anteriormente.

Su archivo de marcado (aspx / ascx) tiene que incluir el atributo CodeBehind = "MyPage.aspx.cs" o de lo contrario no funcionará. Blogueé sobre esto aquí .

Johan Leino
fuente
Se agregó este atributo y luego se guardó; nada. Luego eliminó los Herederos, guardó, restauró y listo, ¡se actualizó el archivo de código del diseñador! Esta característica molesta me atrapa cada vez :-(
GlennG
ambos enlaces están muertos = (
Maslow
5

He encontrado una manera de resolver este problema sin cambiar ningún código o ejecutar comandos como "Convertir a aplicación web", ¡y también es simple!

Lo que encontré fue que reiniciar Visual Studio a menudo resuelve el problema, pero a veces no lo hace. En esos casos, si cierra Visual Studio y luego elimina todo el contenido del directorio "obj" para el proyecto web antes de abrirlo nuevamente, siempre me ha funcionado.

(cuando se inicia nuevamente, simplemente agrega un espacio y lo elimina nuevamente y luego presiona guardar para que el archivo del diseñador se regenere correctamente)

tommycode
fuente
He tenido este problema con una aplicación heredada que me han encargado dar soporte. Quiero decir gracias por señalar esto. No se me permite convertir a una aplicación web ", crear una nueva solución o hacer cualquier cosa que no sea corregir errores. El diseñador se bloqueaba, constantemente, para mí. Pero esto ha ayudado hasta ahora.
Jamie Taylor
4

(Lo siguiente proviene de la experiencia con VS2005).

Si edita una página ASPX durante la depuración, el código subyacente no se actualiza con las nuevas clases. Por lo tanto, debe detener la depuración, editar trivialmente la página ASPX (como agregar un botón o algo), luego hacer clic en Vista de diseño y luego eliminar el botón. Luego, sus archivos de diseñador deben actualizarse.

Si tiene un problema diferente con VS2008, entonces no puedo ayudarlo.

Masa en peligro de extinción
fuente
Encontré esto con VS.Net 2010 ... tuve que hacer exactamente esto ... Gracias @EndangeredMassa por el consejo ... Solía ​​pasar por esto en los días de VS.Net 2002/2003 también ... Ojalá sabía esto entonces;)
Richard B
4

Cuando esté en la vista de diseño, haga clic derecho en la pantalla y presione actualizar.

gritar
fuente
3

Otra cosa que funcionó fue ...

  1. Elimine manualmente y luego cree un archivo de diseñador en el sistema de archivos.
  2. Editar archivo de proyecto .
  3. Agregue código para incluir el diseñador, por
    ejemplo:<Compile Include="<Path>\FileName.ascx.designer.cs"> <DependentUpon>FileName.ascx</DependentUpon> </Compile>
  4. Proyecto de recarga
  5. Abra como archivo (c / p) x en modo diseño / vista y guárdelo.
  6. Verifique el archivo del diseñador. El código estará allí.
Vandesh
fuente
3

Si está utilizando VS2013 o posterior, asegúrese de que el código al que se hace referencia con el atributo "CodeBehind" no "CodeFile", siga los pasos a continuación

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="yourControl.ascx.cs" Inherits="yourControl.yourControl" %>
  • crear una página de diseñador vacía (o borrarla si ya existe "yourControl.ascx.designer.cs")
  • en el ascx (o aspx) copie todo el código, bórrelo y luego guárdelo. vuelva a pegarlo nuevamente, luego guárdelo.
  • el archivo del diseñador debe rellenarse ahora.
Tarek El-Mallah
fuente
2
  • Seleccionar todo en el archivo del diseñador y eliminar todo en el archivo, dejarlo en blanco y luego guardar
  • Seleccionar todo en el archivo ASPX / ASCX y cortar todo y luego volver a pegarlo
  • El archivo del diseñador debería haber regenerado el código
Mark Cidade
fuente
1
¡Esto funcionó para mí! También guardé el archivo .aspx después de cortar todo. Pegado de nuevo, guardado, y mi archivo de diseñador (previamente en blanco) estaba completamente lleno.
DaveD
2

Aquí es lo que he experimentado, seleccione la carpeta del sitio web, haga clic derecho en el Explorador de soluciones, seleccione Convertir a aplicación web para todo el archivo aspx que se generará un archivo de diseñador.

Sameer

Sameer
fuente
2

Solo para agregar a la larga lista de respuestas aquí: acabo de encontrarme con este problema en VS2010 (SP1) con un archivo .aspx. Intenté agregar y eliminar controles ASP estándar (que funcionó en el pasado) pero al final, tuve que eliminar una de las líneas runat = server de un control existente (y guardar) para forzar la regeneración del archivo del diseñador.

Rory Solley
fuente
2

Me he encontrado con el mismo problema durante años, trabajando en Visual Studio 2008. Y he probado todas las "soluciones" en StackOverflow y docenas de blogs, como estoy seguro de que todos ustedes lo han hecho. Y a veces funcionan, y otras no, como estoy seguro de que todos ustedes se han encontrado. Y aparentemente sigue siendo un problema en VS2010 y VS2012.

Finalmente, hace un par de meses, decidí que ya era suficiente, y durante unas semanas construí una herramienta llamada "Redesigner" que genera archivos .designer. Es de código abierto bajo la licencia BSD , con el código fuente disponible en SourceForge: de uso gratuito, de robo, de hacer cualquier cosa que desee. Y hace lo que Visual Studio no puede hacer con tanta frecuencia, que es generar archivos .designer de manera rápida y confiable.

Es una herramienta de línea de comandos independiente que analiza los archivos .aspx y .ascx, realiza toda la magia de reflexión necesaria y escupe los archivos .designer correctos. Hace todo el análisis y la reflexión en sí misma para evitar depender del código existente, que todos sabemos demasiado bien está roto. Está escrito en C # contra .NET 3.5, pero hace un esfuerzo para evitar usar incluso System.Web para cualquier otra cosa que no sea declaraciones de tipo, y no usa ni se basa en Visual Studio en absoluto .

El rediseñador puede generar nuevos archivos .designer; y ofrece una opción --verbose para que cuando las cosas salgan mal, reciba mensajes de error mucho mejores que "Excepción del tipo System.Exception". Y hay una opción de verificación que se puede usar para indicarle cuándo se rompen los archivos .designer existentes: controles faltantes, declaraciones de propiedades incorrectas, ilegibles para Visual Studio o simplemente borrados.

Lo hemos estado usando en mi lugar de trabajo para sacarnos de apuros durante la mayor parte del último mes, y aunque Redesigner todavía es una versión beta, está avanzando lo suficiente como para que valga la pena compartir su existencia con el público. Pronto tengo la intención de crear un complemento de Visual Studio para que pueda simplemente hacer clic con el botón derecho para verificar o regenerar los archivos de diseñador de la manera que siempre deseó. Pero mientras tanto, el uso de la línea de comandos es bastante fácil y le ahorrará muchos dolores de cabeza.

De todos modos, descarga una copia de Redesigner ahora y deja de sacarte el pelo . No siempre lo necesitará, pero cuando lo haga, ¡se alegrará de tenerlo!

https://sourceforge.net/projects/redesigner/

Sean Werkema
fuente
parece excesivo para una solución simple
Chris McGrath
1
@ChrisMcGrath Tal vez exagere, pero he sentido el dolor que provocó esta herramienta. Admiro su dedicación para dedicar tiempo a construirlo :)
Jordan Rieger
2

TL; DR;
Edite el Inheritsatributo de la página ASPX@Page directiva de y presione Guardar. Su archivo de diseñador debe ser regenerado.

Asegúrese de que Inherits= <namespace>. <class_name> y CodeBehind= <class_name> .aspx.cs


Intenté hacer esto en un proyecto de Sharepoint 2010, usando VS 2010 y TFS , y ninguna de las soluciones anteriores funcionó para mí. Principalmente, falta la opción "Convertir a aplicación web" en el menú contextual del archivo .ASPX cuando se usa TFS en VS 2010.

Esta respuesta finalmente ayudó . Mi clase se veía así:

namespace MyProjects.Finance.Pages
{
    public partial class FinanceSubmission : WebPartPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        // more code
    }
}

Y mi @Pagedirectiva fue (saltos de línea aquí para mayor claridad):

<%@ Page Language="C#" AutoEventWireup="true" 
    CodeBehind="FinanceSubmission.aspx.cs"
    Inherits="MyProjects.Finance.Pages.FinanceSubmission"
    MasterPageFile="~masterurl/default.master" %>

Primero cambié Inheritsa MyProjects.Finance.Pages , presioné Guardar, luego lo cambié a MyProjects.Finance.Pages.FinanceSubmission y presioné Guardar nuevamente. Y wallah! ¡La página del diseñador fue regenerada!

Espero que esto ayude a alguien que usa TFS!

revs SNag
fuente
2

Dentro de Visual Studio:

1) Elimine su archivo aspx.designer.cs

2) Haga clic derecho en su archivo aspx y seleccione "Convertir a aplicación web". Esto debería agregar aspx.designer.cs de forma actualizada.

Si recibe un error que dice:

"Falló la generación del archivo del diseñador: el método u operación no está implementado".

Intente cerrar Visual Studio y luego vuelva a abrir su proyecto y vuelva a realizar el paso número dos

¿Cómo generar aspx.designer.cs en Visual Studio?

nouman arshad
fuente
2
"Convertir a aplicación web" no existe en el menú contextual de un archivo aspx. Al menos, no lo hace en VS Professional 2015.
Chris Walsh
2
  1. Paso 1 : Seleccione todo su código aspx, Corte [CTRL + X] ese código y Guardar.

  2. Paso 2 : pegue nuevamente el mismo código en la misma página y guarde nuevamente

Ahora su página .desinger se actualizará con todos los controles en la página .aspx.

Sampat
fuente
1

Elimine el archivo designer.cs y luego haga clic derecho en el archivo .aspx y elija "Convertir a aplicación web". Si hay un problema con sus declaraciones de control, como una etiqueta que no está bien formada, recibirá un mensaje de error y deberá corregir la etiqueta mal formada antes de que Visual Studio pueda volver a generar con éxito su archivo de diseñador.

En mi caso, en este punto, descubrí que el problema era que había declarado un control de botón que no estaba dentro de una etiqueta de formulario con un atributo runat = "server".

Max Lancaster
fuente
1

Este es un error en el IDE; Lo he visto desde VS 2003. Sin embargo, la solución es simple.

Guarda tus archivos. Salga completamente del IDE (asegúrese de que el proceso se detenga, administrador de tareas).

Vuelva a abrir la solución, ensucie el marcado, guarde. Fijo.

bcweis
fuente
1

Tuve dos problemas ... AJAXControlkit obsoleto: eliminé el dll anterior, eliminé los controles antiguos de la caja de herramientas, descargué una nueva versión, cargué la caja de herramientas y arrastré y solté nuevos controles en la página (ver http://www.experts-exchange.com /Programming/Languages/.NET/Visual_Studio_.NET_2005/Q_24591597.html )

También tenía errores ortográficos en mi control de etiqueta (había usado 'class' en lugar de 'cssclass').

Ejército de reserva

usuario381377
fuente
1

Tuve el problema de que mis nuevos controles no se generarían en el archivo del diseñador cuando se declare en el archivo .ascx. El problema era que también los declaró en el código detrás. Entonces, eliminar la declaración en el código detrás resolvió mi problema.

El demz
fuente
1

Si eres como yo y agregas viejos archivos .ASPX a un proyecto más reciente. Probablemente olvidará algunos de los controles utilizados en la página.

Si es así, lo primero, si hay varios archivos que está instalando; Arregle uno a la vez primero.

Cuando compilas, corrige los errores generados. Probablemente serán los mismos errores en todos los archivos.

A continuación, si tiene archivos de diseñador, elimine todos los archivos de diseñador insertados. A continuación, asegúrese de que no haya otros errores al compilar, que no sean los archivos del diseñador.

Finalmente haga clic derecho en su proyecto web y haga clic en Convertir a aplicación web. Esto insertará los archivos de diseñador que necesita.

Estos son los mejores pasos para solucionar los problemas.

Carlo
fuente
1

Una cosa que nadie ha mencionado es visitar la página . Hice que mi archivo de diseñador dejara de regenerarse porque estaba incluyendo un control de usuario que no existía (por varias razones), y ninguna de las cosas sugeridas aquí funcionó. Por alguna razón, no recibí ningún error en Visual Studio, además del que se quejaba del hecho de que mis controles del lado del cliente no existían porque no estaban siendo regenerados, por supuesto.

Realmente necesité visitar la página para que ASP.Net me dijera el error.

Tacroy
fuente
1

Esto también puede suceder si actualiza el espacio de nombres y no actualiza el espacio de nombres en el archivo del diseñador. Solución: también actualice el espacio de nombres en el archivo del diseñador.

Ben Weeks
fuente
1

La solución que funcionó para mí es:

Simplemente copié la página y la pegué en la misma porción, luego cambié el nombre de la primera página (cualquiera que sea el nombre) y cambié el nombre de la página copiada como la página original. Ahora los controles son accesibles.

y
fuente