2010-03-21 15 views

Respuesta

12

Cierre la solución en Visual Studio y abra su archivo .csproj en un editor de texto. Encuentra MainUI.Other.cs, y añadir el siguiente elemento XML:

<Compile Include="MainUI.Other.cs"> 
    <SubType>Form</SubType> 
    <DependentUpon>MainUI.cs</DependentUpon> <!-- this is the magic incantation --> 
</Compile> 

reabrir la solución en Visual Studio y disfrutar de la bondad subnodular.

Dicho esto, es posible que desee reconsiderar si esta es una buena idea. La razón por la que el archivo .designer.cs se muestra como un subnodo se debe a que normalmente no necesitará o no desea abrirlo, ya que contiene el código generado que normalmente vería o editaría a través del diseñador. Mientras que un archivo de clase parcial contendrá su código, que usted querrá editar y ver; puede ser confuso para los programadores de mantenimiento si el archivo no es fácilmente visible en el Explorador de soluciones. Sin embargo, solo tú puedes saber lo que es correcto para tu proyecto, ¡solo algo a tener en cuenta!

+0

Nota: si su archivo "DependentUpon" está en una subcarpeta, aunque aparezca en otro lugar como - aún debe usar solo filename cuando lo haga esta. –

0

puede modificar el archivo fuente del proyecto para agrupar los archivos relacionados. En el archivo fuente del proyecto, encuentre el elemento ItemGroup que contiene MainUI.cs y agregue una entrada para MainUI.Others.cs

Aquí hay una publicación de blog que muestra cómo hacerlo en detalle. Group/nest source code files

1

Sí, esto es posible, pero tendrá que editar manualmente el archivo del proyecto.

En el archivo de proyecto (ábralo con el Editor XML) localice el grupo de elementos del listado de archivos. En mi ejemplo, dejé el formulario como "Form1.cs". Agregue el elemento hijo "<DependentUpon>" a su clase extendida de acuerdo con el siguiente ejemplo:

<Compile Include="Form1.cs"> 
     <SubType>Form</SubType> 
    </Compile> 
    <Compile Include="Form1.Designer.cs"> 
     <DependentUpon>Form1.cs</DependentUpon> 
    </Compile> 
    <Compile Include="Form1.Designer.Other.cs"> 
     <DependentUpon>Form1.cs</DependentUpon> 
     <SubType>Form</SubType> 
    </Compile> 

Por lo general, aunque usted no quiere que cualquier código no generado que se oculta como un nodo hijo embargo. Mi práctica habitual es crear una carpeta en el proyecto llamada "Clases parciales" y agregarlas todas en la misma ubicación.

Cuestiones relacionadas