¿Es posible dividir la información en un archivo .csproj en más de un archivo? Un poco como una versión de proyecto de la característica partial class
.Archivos .csproj parciales
Respuesta
No puede tener más de un maestro csproj. Pero debido a que el cableado subyacente del csproj se realiza mediante msbuild, simplemente puede tener múltiples csproj parciales que se importan entre sí. El archivo de solución sería el más derivado csproj.
Project1.csproj
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
....
</Project>
project2.csproj
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="project1.csproj" />
...
</Project>
project.csproj - este es el proyecto principal que se conoce por el archivo de solución.
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="project2.csproj" />
...
</Project>
conclusión es que el uso de msbuild importación función que puede tener archivos csproj parciales donde cada uno contendría las definiciones que el proyecto principal (project.csproj en mi ejemplo) sería utilizar.
Visual Studio mostrará una advertencia de seguridad para proyecto de diálogo cuando se abre el archivo de solución o proyecto modificado. Elija la opción Cargar proyecto Normalmente y presione OK. Al volver a abrir la solución, la advertencia no se mostrará porque la configuración Cargar proyecto Normalmente se almacena en el archivo suo.
Bueno, puede tener múltiples proyectos combinados en una gran solución, pero no creo que eso sea exactamente lo que tenía en mente ya que cada proyecto tiene que ser un proyecto completo en ese caso.
Sí, puede dividir la información en varios archivos. Puede usar Import Element (MSBuild).
Tenga en cuenta que Visual Studio le dará annoying security warning si intenta abrir el archivo de proyecto que incluye otros archivos de proyecto.
Linky Útil de MSDN:
How to: Use the Same Target in Multiple Project Files
Tenga en cuenta que los archivos externos tienen .targets extensión por las convenciones.
- 1. Modificar archivos programmatically csproj
- 2. Archivo .csproj - Agregando/borrando archivos programáticos
- 3. Agregar información personalizada a archivos CSPROJ
- 4. VBPROJ/CSPROJ
- 5. XPath y * .csproj
- 6. Visual Studio, svn y fusión de archivos .csproj y .sln
- 7. ¿Cómo incluyo archivos DLL en mi archivo .csproj?
- 8. ¿Por qué Visual Studio no puede abrir archivos .csproj?
- 9. Cómo editar archivos .csproj con PowerShell - Visual Studio 2010
- 10. AngularJS - Usar parciales dinámicamente en otros parciales
- 11. error en csproj - elemento duplicado
- 12. FlavorProperties GUID en csproj Archivo
- 13. XML en el archivo csproj
- 14. ¿Qué hace el archivo .csproj?
- 15. ¿Cómo convertir automáticamente clases VS2003 a archivos Designer.cs parciales?
- 16. Espacio de nombres Xml y C# csproj
- 17. asp.net: clases parciales y herencia
- 18. Error con C# Clases parciales
- 19. Qué significa BootstrapperPackage dentro del proyecto * .csproj
- 20. Incluyendo archivos de contenido en .csproj que están fuera del cono del proyecto
- 21. Parece que MvcBuildViews compila más archivos que los incluidos en el archivo .csproj
- 22. clases parciales + DataAnnotations
- 23. clases parciales de Java
- 24. Clases parciales en proyectos
- 25. Depuración de clases parciales
- 26. cursiva parciales, axis.text.x
- 27. Constructores de clase parciales
- 28. Uso de clases parciales
- 29. Clases parciales de WinForm
- 30. jQuery Selectores parciales
Puede elegir Cargar proyecto normalmente y la próxima vez que se abra el proyecto sin la advertencia. Esto se almacena en el archivo suo. –
Lo sé, pero los archivos suo generalmente no se almacenan bajo el control de código fuente. – aku