9

Sto provando a convertire un progetto di sito Web VB.NET in un progetto di applicazione Web, ma nel progetto di applicazione Web, i miei file code-behind non sono visibili a meno che non imposti l'opzione explorer di soluzione "mostra tutti i file". Perchè è questo? Quale impostazione posso modificare in modo che il mio codice dietro i file sia sempre visibile?Perché i file code-behind non sono visibili in un progetto di applicazione Web VB.NET?

+0

Una nota per i lettori. Questo problema non si verifica con i progetti di siti Web: solo progetti di applicazioni Web. Questo è vero in Visual Studio 2012. Non so VS 2013 o 2015. – Theophilus

risposta

8

È possibile impostare VS per visualizzare sempre tutti i file. Questa è la soluzione migliore, anche se un modo davvero brutto per evitare questo sarebbe rinominare i file per il codice.

+7

Sì, è brutto, ma mi sembra stupido che mostri file code-behind per le app C#, ma non per VB, dando il impressione che MS ritenga gli utenti VB troppo stupidi per gestire una vista leggermente più complessa in Solution Explorer. – ProfK

+2

Per quanto riguarda la modalità Mostra tutti i file, selezionare il progetto (non la soluzione) nella finestra Esplora soluzioni. Apparirà un'icona nella barra degli strumenti di Solution Explorer per "Mostra tutti i file" –

3

So che questa è una domanda un po 'vecchia, ma è il risultato migliore su Google e ho trovato una soluzione alternativa.

Aprire il file .vbproj per il progetto in un editor di testo e cercare il nome del file codebehind. Troverete che sembra qualcosa di simile:

<Compile Include="dashboard\index.aspx.vb"> 
    <DependentUpon>index.aspx</DependentUpon> 
    <SubType>ASPXCodebehind</SubType> 
</Compile> 

Se si rimuove semplicemente il tag DependentUpon, tutto continuerà a funzionare correttamente, ma entrambi i file verranno visualizzati in Visual Studio, se lo desideri. Quindi la mia versione finale sarebbe la seguente:

<Compile Include="search\index.aspx.vb"> 
    <SubType>ASPXCodeBehind</SubType> 
</Compile> 

Ci vuole un po 'di editing manuale ma funziona per me. In alternativa, se si rinomina/modifica manualmente i file in un formato pagina/codice dopo aver creato file di classe regolari, questi verranno visualizzati come desiderato nel progetto senza dover ricorrere a "Mostra tutti i file".

+0

Quando si esegue "Mostra tutti i file" il codice dietro e le pagine del designer sono nidificati sotto il file .aspx. Con il tuo metodo, il file è elencato completamente separatamente. C'è un cambiamento che puoi fare nel file .vbproj per far sì che il codice dietro il file diventi visibile ma annidato sotto il file .aspx? Altrimenti, ottima soluzione. Ti permette di scegliere quali file esattamente mostrare. – DanM7

+1

Penso che il flag DependentUpon sia quello che viene normalmente utilizzato per annidare i file, ma è specificamente disabilitato per i file VB perché evidentemente è troppo complesso di una funzionalità per gli sviluppatori VB. Vedi il commento di MS dev David Nelson in fondo a questo feedback: https://connect.microsoft.com/VisualStudio/feedback/details/590046/show-related-code-behind-files-for-vb-net-web-applications -in-solution-explorer – justis

+0

Ho visto questo link nella mia ricerca, ma non mi ero reso conto che era un dev di MS. Grazie per quello! – DanM7

Problemi correlati