Generar archivo de solución de la lista de CSProj

Tengo muchos proyectos y no tengo una solución maestra con todo lo que contiene. La razón por la que quiero una es para refactorizar.

Así que me preguntaba si alguien sabía una forma automática de crear un archivo de solución. Agregar manualmente todos los proyectos simplemente no es factible.

Y ahora he actualizado mi utilidad (mencionada anteriormente) para admitir la creación de carpetas de soluciones: http://bloggingabout.net/blogs/vagif/archive/2009/12/03/utility-to-generate-solution-files-can- ahora-crear-solución-carpetas.aspx

Vagif Abilov escribió una maravillosa utilidad que generará un archivo de solución a partir de archivos de proyecto. Es sorprendente si trabaja para personas que no “creen” en los archivos de soluciones. ugh

GenerateSolutionFile.exe

Uso: GenerateSolutionFile / p / s [/ i includeFilter] [/ e excludeFilter]

http://bloggingabout.net/blogs/vagif/archive/2009/08/04/utility-to-generate-visual-studio-solution-file-for-a-group-of-projects.aspx

Puedes probar esto (el código a continuación proviene de este sitio, de todos los sitios …)

Pero si no funciona y demoraría mucho tiempo en depurar, sugeriría el dolor de agregarlos manualmente una vez. Solo pon un poco de buena música y ve por ella … 🙂

@oefe No creo que VS.NET le permita convertir proyectos de D&D en soluciones, lo he intentado una vez.

Imports EnvDTE Imports EnvDTE80 ----------------------------------------------------------------------------------- Private Shared Sub DoStuff() Dim filePath As String = "c:\temp" Dim fileName As String = "bld_TestApp.sln" Dim fullName As String = Path.Combine(filePath, fileName) Dim objType As Type Dim objDTE As EnvDTE.DTE objType = Type.GetTypeFromProgID("VisualStudio.DTE.8.0") objDTE = DirectCast(System.Activator.CreateInstance(objType), EnvDTE.DTE) Console.WriteLine(objDTE.Name + ":" + objDTE.Version) objDTE.Solution.Create(filePath, fileName) objDTE.Solution.AddFromFile("C:\Common.vbproj") objDTE.Solution.SaveAs(fullName) End Sub 

Echa un vistazo a nAnt, el puerto .NET de Ant. Tiene la capacidad de hacer cosas como esta, o de construir sin ella.

Usando mediante progtwigción, la manipulación de texto creó archivos de soluciones para archivos .vcproj (pero cs / vb funcionaría igual). No es realmente difícil averiguar cómo hacerlo si abre un archivo de solución en el bloc de notas o lo que sea.

Lamentablemente no puedo proporcionar el código ya que es propietario.

¿Cree una solución vacía, luego arrastre y suelte todos sus proyectos a la vez?