9

Estoy tratando de convertir un proyecto de sitio web VB.NET en un proyecto de aplicación web, sin embargo, en el proyecto de aplicación web, mis archivos de código subyacente no son visibles a menos que configure la opción "mostrar todos los archivos" del explorador de soluciones. ¿Por qué es esto? ¿Qué configuración puedo cambiar para que mi código detrás de los archivos esté siempre visible?¿Por qué los archivos de código subyacente no están visibles en un proyecto de aplicación web de VB.NET?

+0

Una nota para los lectores. Este problema no ocurre con proyectos de sitios web, solo proyectos de aplicaciones web. Esto es cierto en Visual Studio 2012. No sé acerca de VS 2013 o 2015. – Theophilus

Respuesta

8

Puede configurar VS para mostrar siempre todos los archivos. Esa es la mejor solución, aunque una forma realmente fea de evitar esto sería cambiar el nombre de los archivos del código subyacente.

+7

Sí, eso es feo, pero me parece estúpido que muestra archivos de código subyacente para aplicaciones C#, pero no para VB, dando la impresión de que MS cree que los usuarios de VB son demasiado estúpidos para manejar una vista un poco más compleja en el Explorador de soluciones. – ProfK

+2

En cuanto a cómo mostrar todos los archivos, seleccione el proyecto (no la solución) en la ventana del Explorador de soluciones. Aparecerá un ícono en la barra de herramientas del Explorador de soluciones para "Mostrar todos los archivos" –

3

Sé que esta es una pregunta un poco vieja, pero es el resultado principal en Google y encontré una solución alternativa.

Abra su archivo .vbproj para el proyecto en un editor de texto y busque el código detrás del nombre del archivo. Usted encontrará que es como la siguiente:

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

Si sólo tiene que quitar la etiqueta DependentUpon, todo seguirá funcionando correctamente, pero ambos archivos se mostrará en Visual Studio, según se desee. Así que mi versión final se vería así:

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

Se necesita un poco de edición manual pero funciona para mí. Alternativamente, si renombra/edita manualmente sus archivos en un formato de página/código subyacente después de crear archivos de clases regulares, aparecerán como deseadas en el proyecto sin tener que recurrir a "Mostrar todos los archivos".

+0

Al hacer "Mostrar todos los archivos", el código subyacente y las páginas del diseñador se anidan bajo el archivo .aspx. Con su método, el archivo se muestra completamente por separado. ¿Hay algún cambio que pueda realizar en el archivo .vbproj para que el código detrás del archivo se vuelva visible pero anidado bajo el archivo .aspx? De lo contrario, gran solución. Le permite elegir qué archivos mostrar exactamente. – DanM7

+1

Creo que el indicador DependentUpon es lo que normalmente se utiliza para anidar los archivos, pero está específicamente deshabilitado para los archivos VB porque evidentemente es una característica demasiado compleja para los desarrolladores de VB. Ver el comentario del desarrollador de MS David Nelson en la parte inferior de este comentario: https://connect.microsoft.com/VisualStudio/feedback/details/590046/show-related-code-behind-files-for-vb-net-web-applications -in-solution-explorer – justis

+0

Vi ese enlace en mi búsqueda, pero no me di cuenta de que era un desarrollador de MS. ¡Gracias por eso! – DanM7

Cuestiones relacionadas