Come forzate Visual Studio a rigenerare i file .designer per i file aspx / ascx?


395

A volte quando sto modificando la pagina o controllo i file .designer smettono di essere aggiornati con i nuovi controlli che sto inserendo nella pagina. Non sono sicuro di cosa stia causando ciò, ma mi chiedo se c'è modo di forzare Visual Studio a rigenerare il file .designer. Sto usando Visual Studio 2008

EDIT: mi dispiace avrei dovuto notare che ho già provato:

  • Chiudere e riaprire tutti i file e Visual Studio
  • Apportare una modifica a un controllo runat = "server" nella pagina
  • Eliminare e aggiungere nuovamente la direttiva della pagina

57
È ridicolo che nel 2012 Visual Studio non abbia ancora una voce di menu di scelta rapida per rigenerare i file di progettazione dai file di origine? È come non poter ricostruire una DLL corrotta. Non lo capisco. Soprattutto con il controllo del codice sorgente esterno e gli editor esterni lascia Visual Studio paralizzato. Spreco di denaro, se me lo chiedi. In realtà sto cercando di rigenerare i progettisti di file di risorse. Sono riuscito a modificare lo rigenera, ma è attraverso l'oscurità ... Augh !!! 1
BamBams

3
@bamccaig, se avessi un soldo per ogni strana "caratteristica" come questa, sarei più ricco di Bill Gates. Se ritieni che ciò non sia corretto, osserva dove Outlook Express memorizza i suoi dati di posta. È sepolto in profondità nella cartella dell'utente sotto un nome di cartella criptica che è nascosto per impostazione predefinita.
ATL_DEV,

13
Esiste una soluzione per VS 2015?
Anton,

Vedere stackoverflow.com/questions/6508252/… correlato per altri tentativi.
arrivederci,

2
Non una correzione permanente ma ripristina i riferimenti di controllo nel file .cs: 1. Aprire il file .aspx correlato; 2. Elimina il singolo ">" alla fine della <%@ Pageriga della direttiva; 3. Aspetta un secondo o due; 4. Riposizionare ">". 5. Passa al file .cs e vedrai che ora è privo di errori di riferimento di controllo. Lo sto facendo da anni, funziona ogni volta, in ogni versione di VS.
ingrediente_15939

Risposte:


368

Se si apre il file .aspx e si passa dalla vista di progettazione alla vista di html e viceversa, verrà richiesto a VS di controllare i controlli e aggiungere quelli mancanti al file di progettazione.

In VS2013-15 è presente un comando Converti in applicazione Web nel menu Progetto . Prima di VS2013 questa opzione era disponibile nel menu contestuale del tasto destro per file as (c / p) x. Al termine, dovresti vedere che ora hai un file * .Designer.cs disponibile e che i tuoi controlli all'interno di Design HTML saranno disponibili per il tuo controllo.

PS: Questo non dovrebbe essere fatto in modalità debug, poiché non tutto viene "ricompilato" durante il debug.

Alcune persone hanno anche segnalato il successo (eseguendo una copia di backup del file .designer.cs e quindi) eliminando il file .designer.cs. Ricreare un file vuoto con lo stesso nome.

Esistono molti commenti a questa risposta che aggiungono suggerimenti sul modo migliore per ricreare il file designer.cs.


1
Questo ha funzionato solo per me dopo aver chiuso tutte le istanze (anche quelle con soluzioni totalmente diverse) di VS2008
Kevin,

11
Ho scoperto che il passaggio dalla modalità di debug alla modalità di rilascio mi ha aiutato, grazie
Chris,

5
Volevo solo dire che stavo avendo lo stesso errore e ho provato tutto su questa pagina, senza che nulla funzionasse. Si è scoperto che mi mancava un tag di chiusura ">" su un div che aveva runat = "server". In esecuzione VS-2008.
Ber53rker,

10
Per visualizzare "Converti in applicazione Web", è necessario innanzitutto eliminare il file Designer.cs FACENDO CLIC SU IL file aspx in Esplora soluzioni e selezionando Elimina. Questo ha funzionato per me in VS 2010.
DeveloperDan

43
VS2013 ha l'applicazione Converti in Web nel menu Progetto. Solo non più nel menu contestuale.
Dennis Burton,

95

Bene, ho trovato una soluzione che funziona, anche se non mi piace molto. Ho dovuto eliminare il file .designer.cs quindi ricreare un file vuoto con lo stesso nome. Quando sono tornato indietro e salvato di nuovo il file aspx, il file designer è stato rigenerato.

Dodgy!


3
Questo ha funzionato anche per me. Non ideale Non ho idea del perché il file desginer originale abbia smesso di aggiornarsi correttamente.
Iain Holder,

3
Questo non ha funzionato per me. Ora ho un file vuoto e tutto il codice dietro non funziona !!! Riavvio ...
DiningPhilanderer

7
Questo ha funzionato per me. Mi sono assicurato di eliminare l'originale, creare un nuovo file designer.cs con lo stesso nome, chiudere il nuovo file, modificare leggermente il file .as (p / c) x per forzare un salvataggio, quindi è andato tutto bene.
TJB,

9
se si verifica un errore di compilazione della vista, non verrà più visualizzato. In genere è per questo che smette di rigenerarsi in primo luogo. È necessario attivare Visualizza compilazione per vederlo, che non è semplice.
DevelopingChris,

1
Ho anche dovuto includere il file vuoto nel mio progetto.
JP Hellemons,

78

Uso il seguente metodo che funziona ogni volta:

  • Seleziona tutto il code-in-front (markup html ecc.) Nell'editor del file aspx / ascx.
  • Taglio.
  • Salva.
  • Incolla.
  • Salva.

Ricompilazione.


1
Penso che cancellare un singolo controllo e aggiungerlo di nuovo abbia lo stesso effetto.
chris,

L'ho fatto e ha funzionato per me. Tuttavia, ho dovuto creare un file vuoto chiamato <name>.aspx.designer.vbper farlo funzionare
Tahir Hassan,

64

Di recente ho visto che stavo avendo lo stesso problema. Visual Studio 2010 si stava rifiutando di aggiornare il file di progettazione.

A quanto pare, VS non modifica il file di progettazione per una pagina che utilizza CodeFile (eseguito al di fuori delle pagine) anziché CodeBehind (DLL). Questo vale indipendentemente da quante volte chiudi VS, ricarichi il progetto, ricrea i controlli o modifichi un file. Nulla richiederebbe a VS di rigenerare il designer. È come se non crea il file di progettazione per le pagine CodeFile ma richiede che sia lì.

L'ho cambiato in CodeBehind e ho salvato la pagina. Il file di progettazione si è aggiornato immediatamente. Poi l'ho appena cambiato e tutto era ancora dorato. Questo comportamento sembra essere nuovo con VS 2010 / .NET 4.0 poiché VS 2008 per impostazione predefinita non ne ha risentito.

È questa parte:

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

Cambia CodeFile in CodeBehind, salva e poi ripristina.


In ritardo per questa discussione. Nessuna delle risposte sopra descritte impone che i controlli siano elencati in * .aspx.designer.cs. Speravo che questo lo facesse, ma non impone ancora che i controlli vengano dichiarati nel file * .aspx.designer.cs. Sto usando VS 2010 Pro SP1. Sto cercando di farlo funzionare con uno qualsiasi dei file predefiniti che l'IDE genera in / Account come ChangePassword.aspx. Grazie.
paparush,

1
Il mio era impostato su CodeFile, ho cambiato su CodeBehind, salvato, di nuovo su CodeFile, salvato, tutto è dorato. I precedenti tentativi di correzione non lo hanno fatto per me. VS 2010 Pro
Dan

37

Esiste un'altra possibilità: potresti avere un errore nel tuo file .aspx che non consente a Visual Studio di rigenerare il designer.

Se si passa a Visualizzazione struttura, il controllo verrà visualizzato come impossibile da renderizzare. Riparare il controllo (nel mio caso era una citazione extra nelle proprietà) e la ricompilazione dovrebbe rigenerare il progettista.


Ho avuto lo stesso problema, il controllo utente aveva errori quindi le pagine che usano il controllo utente avevano errori non correlati a causa degli errori nel controllo utente.
Ronen Festinger,

1
Stessa causa. Ho avuto un attributo non supportato visible = "false" aggiunto a un pulsante asp. L'ho rimosso e il codice designer è stato rigenerato.
Ching Not Noting

21

La maggior parte delle soluzioni qui non funzionano se si esegue Visual Studio 2013 e forse il 2012. Probabilmente Microsoft ha introdotto alcune ottimizzazioni per rendere più scattante l'IDE, di conseguenza hanno ridotto il numero di casi che attivano il generatore di codice. I seguenti scenari che prima funzionavano non funzionano più:

  1. Elimina il file aspx o ascx: non verifica più questo caso
  2. Taglia tutto il contenuto e ripeti il ​​file nel file aspx o ascx - Non funziona più, nessuna modifica nei riferimenti
  3. Converti in applicazione Web: l'opzione non è più disponibile
  4. Modifica arbitraria del contenuto nel file aspx / ascx - Non funziona più (vedi 2).

La soluzione è sorprendentemente semplice, ma leggermente ingombrante. Per attivare il generatore di codice, modifica qualcosa che richiederebbe la generazione di designer.aspx.cs. La modifica del contenuto che non influisce sul codice, come uno stile CSS o l'aggiunta di testo, non attiverà il generatore di codice. È necessario modificare un controllo di riferimento. Ecco come farlo:

In ascx o aspx modificare l'ID del controllo

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

per

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

Vai su ascx.cs o aspx.cs e assicurati di rinominare tutti i riferimenti a "MyLink" in "theLINK". Salva e costruisci e dovresti essere pronto per partire.


Ottimo punto sulle modifiche nella versione più recente di Visual Studio. Ciò che ha funzionato per me piuttosto che scherzare con l'ID come sopra, è stato cancellare il file di progettazione, quindi aggiungere un nuovo controllo benigno come <asp: PlaceHolder ID = "Foo" runat = "server /> e quindi salvare per attivare rigenerazione Quindi, anche se si dimentica di rimuoverlo, nulla è interessato
Jordan Rieger,

8
3. 'Converti in applicazione Web' viene reso disponibile nel menu 'PROGETTO' se viene selezionato un file appropriato.
WynandB,

2
Hmm. Sfortunatamente, questa opzione non è disponibile se è già un'applicazione web.
ATL_DEV,

Una rapida modifica consiste nel modificare la parte dello spazio dei nomi dell'attributo Inherits =. Questo dovrebbe modificare lo spazio dei nomi nel file .designer e rigenerare tutto il contenuto all'interno. Ho appena provato questo con VS2013.3.
David Russell,

Ciao, normalmente provo con il modo in cui hai fornito, ma il problema è che un altro utente non è in grado di generare il file g.cs mentre solo l'amministratore è in grado di farlo. Stiamo usando TFS, con l'utilizzo di diversi id utente per sviluppatori in VS, siamo in grado di generare g.cs. Quali sono i diritti richiesti per generare g.cs su server, TFS e SP?
nirav,

14

l'unico modo che conosco è eliminare il file di progettazione ed eseguire una conversione in app Web. Tuttavia, quando lo fai, di solito viene visualizzato l'errore, sul perché non si è auto-rigenerato in primo luogo, di solito è un riferimento di controllo che non è dichiarato nella parte superiore della pagina.


Mi dispiace che non abbia funzionato, ha funzionato in VS 2008 per me da quando ho iniziato a usarlo. C'è un errore di sintassi nella tua pagina? Dovresti visualizzare una finestra di dialogo che ti dice cosa riparare per completarlo.
Sviluppando

Questo ha funzionato per me. La classe code-behind aveva una int Idproprietà che si compilava bene in C # poiché faceva distinzione tra maiuscole e minuscole. Ma ID="ControlName"nella pagina aspx stava cercando di fare Id = "ControlName". Convert to Web Appdetto qualcosa del genere ControlName cannot be converted to Int32.
Nelson Rothermel,

9

Convert to Web Application non ha funzionato per me.

Anche l'eliminazione di designer.cs e l'incollaggio di un designer.cs vuoto non ha funzionato.

Ma sì, ha funzionato:

  1. Seleziona tutto (Default.aspx)
  2. Taglio
  3. Salva Default.aspx
  4. Incolla
  5. Salva Default.aspx

Fatto. Nuovo designer.cs generato. :)


Posso confermare che funziona in VS2013, l'ho appena fatto e ha risolto i miei problemi.
ToastyMallows

Voi. avere. avuto. per. essere. prendere in giro. me. Questo ha funzionato per me in VS2015, mentre la conversione come nella risposta selezionata no.
GraehamF,

6

Ho spesso scoperto che la copia / incolla ha causato questo comportamento per me. La maggior parte dei casi può essere risolta modificando l'ID di un controllo server (basta aggiungere un carattere, quindi eliminarlo).

Ricorda inoltre che il controllo all'interno di elementi come i ripetitori non è visibile nel file di progettazione.

E sì, ci sono casi in cui è necessario eseguire la magia di eliminazione dei file sopra elencata, ma la soluzione di modifica del nome funzionerà la maggior parte delle volte.


2
Questo è il tipo di errore che ho molte volte. Se copi HTML da una pagina all'altra e disponi di controlli con runat = "server", i controlli verranno rinominati per evitare conflitti. Tuttavia, se si incollano i tag "commento HTML" <! - whaterver ->, l'id di controllo non verrà modificato e qualsiasi conflitto interromperà la rigenerazione del file di progettazione, poiché esistono due controlli con lo stesso ID. Questo perché vengono creati anche i controlli all'interno dei tag HTML "commenti". ;)
tomasofen,

5

La mia esperienza è che se vuoi fare come in questo articolo, come indicato sopra.

Il tuo file di markup (aspx / ascx) deve includere l'attributo CodeBehind = "MyPage.aspx.cs", altrimenti non funzionerà. Ho scritto sul blog qui .


Aggiunto questo attributo quindi salvato; Niente. Quindi rimosso gli Ereditari, salvato, ripristinato e voilà il file di codice del designer è stato aggiornato! Questa caratteristica fastidiosa mi sorprende ogni volta :-(
GlennG,

entrambi i collegamenti sono morti = (
Maslow,

5

Ho trovato un modo per risolvere questo problema senza modificare alcun codice o eseguire comandi come "Converti in applicazione Web" - ed è anche semplice!

Quello che ho scoperto è che il riavvio di Visual Studio spesso risolve il problema, ma a volte no. In questi casi, se chiudi Visual Studio e poi elimini tutto il contenuto nella directory "obj" per il progetto Web prima di riaprirlo, ha sempre funzionato per me.

(quando riavviato basta aggiungere uno spazio e rimuoverlo di nuovo, quindi premere Salva per rigenerare correttamente il file di progettazione)


Ho riscontrato questo problema con un'app legacy che mi è stata incaricata di supportare. Voglio dire grazie per averlo sottolineato. Non mi è permesso convertirmi in un'applicazione Web ", creare una nuova soluzione o fare altro che correggere bug. Il progettista si bloccherebbe, costantemente, per me. Ma questo ha aiutato finora.
Jamie Taylor

4

(Quanto segue proviene dall'esperienza con VS2005.)

Se si modifica una pagina ASPX durante il debug, il codebehind non viene aggiornato con le nuove classi. Quindi, devi interrompere il debug, modificare banalmente la pagina ASPX (come aggiungere un pulsante o qualcosa del genere), quindi fare clic su Visualizzazione struttura, quindi eliminare il pulsante. Quindi, i file del designer devono essere aggiornati.

Se hai un problema diverso con VS2008, non posso aiutarti.


Ci siamo imbattuti in questo con VS.Net 2010 ... ho dovuto fare esattamente questo ... Grazie @EndangeredMassa per l'informazione ... Lo facevo anche nei giorni VS.Net 2002/2003 ... Vorrei lo sapeva allora;)
Richard B,

4

Quando sei in visualizzazione struttura, fai clic con il pulsante destro del mouse sullo schermo e premi Aggiorna.


3

Un'altra cosa che ha funzionato è stata -

  1. Elimina manualmente e quindi crea un file designer nel filesystem.
  2. Modifica il file di progetto .
  3. Aggiungi codice per includere il designer
    Ad esempio:<Compile Include="<Path>\FileName.ascx.designer.cs"> <DependentUpon>FileName.ascx</DependentUpon> </Compile>
  4. Ricarica progetto
  5. Apri come file (c / p) x in modalità progettazione / vista e salvalo.
  6. Controlla il file del designer. Il codice sarà lì.

3

Se si utilizza VS2013 o versione successiva, assicurarsi che il codice a cui si fa riferimento con l'attributo "CodeBehind" e non "CodeFile", procedere come segue

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="yourControl.ascx.cs" Inherits="yourControl.yourControl" %>
  • crea una pagina di progettazione vuota (o cancellala se esiste già "yourControl.ascx.designer.cs")
  • nell'ascx (o aspx) copiare tutto il codice, eliminarlo, quindi salvare. ri-incollalo di nuovo, quindi salva.
  • il file designer dovrebbe essere popolato ora.

2
  • Seleziona tutto nel file di progettazione ed elimina tutto nel file, lasciandolo vuoto e quindi salva
  • Seleziona tutto nel file ASPX / ASCX e taglia tutto, quindi incollalo nuovamente
  • Il file di progettazione dovrebbe aver rigenerato il codice

1
Questo ha funzionato per me! Ho anche salvato il file .aspx dopo aver ritagliato tutto. Incollato, salvato e il mio file di progettazione (precedentemente vuoto) è stato completamente popolato.
DaveD,

2

Ecco cosa ho provato, seleziona il tasto destro del mouse sulla cartella del sito Web in Esplora soluzioni, seleziona Converti in applicazione Web per tutto il file aspx che verrà generato da un file designer.

Sameer


2

Solo per aggiungere alla lunga lista di risposte qui - ho appena incontrato questo problema in VS2010 (SP1) con un file .aspx. Ho provato ad aggiungere e rimuovere i controlli ASP standard (che ha funzionato in passato) ma alla fine, ho dovuto rimuovere una delle linee runat = server da un controllo esistente (e salvare) per forzare la rigenerazione del file designer.


2

Ho riscontrato lo stesso problema da anni, lavorando in Visual Studio 2008. E ho provato ogni "soluzione" su StackOverflow e dozzine di blog, proprio come sono sicuro che tutti voi abbiate. E a volte funzionano, a volte no, proprio come sono sicuro che tutti voi abbiate incontrato. E a quanto pare è ancora un problema in VS2010 e VS2012.

Così finalmente, un paio di mesi fa, ho deciso che era abbastanza, e nel giro di poche settimane ho creato uno strumento chiamato "Redesigner" che genera file .designer. È open-source con licenza BSD , con il codice sorgente disponibile su SourceForge - gratis da usare, libero da rubare, libero di fare qualsiasi cosa tu voglia. E fa ciò che Visual Studio non riesce a fare così spesso, che genera file .designer in modo rapido e affidabile.

È uno strumento da riga di comando autonomo che analizza i file .aspx e .ascx, esegue tutta la magia di riflessione necessaria e sputa i file .designer corretti. Fa tutto lo stesso analisi e riflessione per evitare di fare affidamento sul codice esistente, che tutti sappiamo fin troppo bene è rotto. È scritto in C # contro .NET 3.5, ma fa fatica a evitare di usare anche System.Web per qualsiasi cosa diversa dalle dichiarazioni di tipo, e non usa né fa affidamento su Visual Studio .

Il redesigner può generare nuovi file .designer; e offre un'opzione --verbose in modo che quando le cose vanno male, ricevi messaggi di errore molto migliori di "Eccezione del tipo System.Exception è stata lanciata". E c'è un'opzione --verify che può essere usata per dirti quando i tuoi file .designer esistenti sono rotti - controlli mancanti, dichiarazioni di proprietà errate, illeggibili da Visual Studio o semplicemente semplicemente borked.

Lo stiamo usando sul mio posto di lavoro per farci uscire dagli inceppamenti per la parte migliore dell'ultimo mese ormai, e mentre Redesigner è ancora una beta, sta andando abbastanza avanti da meritare la condivisione della sua esistenza con il pubblico. Presto intendo creare un plug-in Visual Studio per esso in modo da poter semplicemente fare clic con il pulsante destro del mouse per verificare o rigenerare i file del progettista nel modo desiderato. Ma nel frattempo, l'uso della riga di comando è piuttosto semplice e ti farà risparmiare un sacco di mal di testa.

Comunque, vai a scaricare una copia di Redesigner ora e smetti di strapparti i capelli . Non ne avrai sempre bisogno, ma quando lo farai, sarai felice di averlo!

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


sembra eccessivo per una semplice soluzione
Chris McGrath,

1
@ChrisMcGrath Forse è eccessivo, ma ho sentito il dolore che ha spinto questo strumento. Ammiro la sua dedizione nel dedicare il tempo alla sua costruzione :)
Jordan Rieger,

2

TL; DR;
Modifica l' Inheritsattributo della @Pagedirettiva della pagina ASPX e premi Salva. Il tuo file designer dovrebbe essere rigenerato.

Assicurarsi che Inherits= <namespace>. <class_name> e CodeBehind= <class_name> .aspx.cs


Stavo provando a farlo su un progetto Sharepoint 2010, usando VS 2010 e TFS , e nessuna delle soluzioni sopra ha funzionato per me. In primo luogo, l'opzione "Converti in applicazione Web" non è presente nel menu di scelta rapida del file .ASPX quando si utilizza TFS in VS 2010.

Questa risposta ha aiutato finalmente . La mia classe sembrava così:

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

        // more code
    }
}

E la mia @Pagedirettiva era (interruzioni di riga qui per chiarezza):

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

Ho cambiato la Inheritsa MyProjects.Finance.Pages , ha colpito Salva, poi cambiato di nuovo a MyProjects.Finance.Pages.FinanceSubmission e colpire di nuovo Salva. E wallah! La pagina del designer è stata rigenerata!

Spero che questo aiuti qualcuno che usa TFS!


2

All'interno di Visual Studio:

1) Rimuovere il file aspx.designer.cs

2) Fare clic con il pulsante destro del mouse sul file aspx e selezionare "Converti in applicazione Web". Questo dovrebbe aggiungere il file aspx.designer.cs aggiornato e aggiornato.

Se viene visualizzato un errore che dice:

"Generazione del file di progettazione non riuscita: il metodo o l'operazione non sono implementati."

Prova a chiudere Visual Studio, quindi riapri il progetto ed esegui nuovamente il passaggio numero due

Come generare aspx.designer.cs in Visual Studio?


2
"Converti in applicazione Web" non esiste nel menu di scelta rapida di un file aspx. Almeno, non lo è in VS Professional 2015.
Chris Walsh,

2
  1. Passaggio 1 : seleziona tutto il codice aspx, taglia [CTRL + X] quel codice e salva.

  2. Passaggio 2 : incollare nuovamente lo stesso codice nella stessa pagina e salvare di nuovo

Ora la tua pagina .desinger si aggiorna con tutti i controlli nella pagina .aspx.


1

Eliminare il file designer.cs, quindi fare clic con il pulsante destro del mouse sul file .aspx e selezionare "Converti in applicazione Web". Se si verificano problemi con le dichiarazioni di controllo, ad esempio un tag non ben formato, verrà visualizzato un messaggio di errore e sarà necessario correggere il tag non valido prima che Visual Studio possa rigenerare correttamente il file di progettazione.

Nel mio caso, a questo punto, ho scoperto che il problema era che avevo dichiarato un controllo pulsante che non era all'interno di un tag del modulo con un attributo runat = "server".


1

Questo è un bug nell'IDE; L'ho visto da VS 2003. La soluzione è semplice però.

Salva i tuoi file. Abbandona completamente l'IDE (assicurati che il processo si arresti, compito mons.)

Riaprire la soluzione, sporcare il markup, salvare. Fisso.



1

Ho avuto il problema che i miei nuovi controlli non venivano generati nel file di progettazione se dichiarati nel file .ascx. Il problema era che li ho anche dichiarati nel codice. Quindi l'eliminazione della dichiarazione nel codice dietro ha risolto il mio problema.


1

Se sei come me e aggiungi vecchi file .ASPX a un progetto più recente. Probabilmente dimenticherai alcuni dei controlli utilizzati nella pagina.

In tal caso, prima cosa, se ci sono più file che stai installando; Risolvi uno alla volta prima.

Durante la compilazione, correggere gli errori generati. Probabilmente saranno gli stessi errori in tutti i file.

Quindi, se si dispone di file Designer, eliminare tutti i file Designer inseriti. Successivamente, assicurarsi che non vi siano altri errori durante la compilazione, oltre ai file di progettazione.

Infine, fai clic con il pulsante destro del mouse sul progetto Web e fai clic su Converti in applicazione Web. Ciò inserirà i file di progettazione necessari.

Questi sono i passi migliori in assoluto per risolvere i problemi.


1

Una cosa che nessuno ha menzionato è visitare la pagina . Ho dovuto interrompere la rigenerazione del mio file designer perché includevo un controllo utente che non esisteva (per vari motivi), e nessuna delle cose suggerite qui ha funzionato. Per qualsiasi motivo, non ho riscontrato alcun errore in Visual Studio - a parte quello che si lamentava del fatto che i miei controlli sul lato client non esistevano perché non venivano rigenerati, ovviamente.

In realtà ci è voluto visitare la pagina per ottenere ASP.Net per dirmi l'errore.


1

Questo può accadere anche se si aggiorna lo spazio dei nomi e non si aggiorna lo spazio dei nomi nel file di progettazione. Correzione: aggiorna anche lo spazio dei nomi nel file di progettazione.


1

La soluzione che ha funzionato per me è:

Ho appena copiato la pagina e incollato nella stessa porzione, quindi ho rinominato la prima pagina (qualunque sia il nome) e ho rinominato la pagina copiata come pagina originale. Ora i controlli sono accessibili.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.