présumant que vous avez quelque chose de semblable à ce qui suit:
sur le disque:
- ./solution1.sln
- ./solution2.sln
- ./solutionN.sln
Et un seul projet ccnet:
- MSBuild -> solution1.sln
- MSBuild -> solution1.sln
- MSBuild -> solutionN.sln
Ce que vous demandez est CCNet de réagir à ce qui est à l'extérieur de son environnement. Ce n'est pas possible, mais il serait possible d'obtenir un autre outil pour le faire.
Options possibles:
1. personnalisée MSBuild projet Créer un projet msbuild spécifique qui trouve et invoque msbuild sur tous les fichiers qu'il trouve une solution. Appelez msbuild sur ce projet seul. Il devrait être possible de le faire avec msbuild vanille, voir https://msdn.microsoft.com/en-us/library/z7f65y0d.aspx
2. Les fichiers batch Trouver tous les fichiers, et pour chaque fichier exécuter msbuild. Assurez-vous que la sortie est enregistrée dans un fichier XML (commutateur msbuild - je crois) et fusionnez dans le résultat dans la section publishers. Voir How to do something to each file in a directory with a batch script
3. Une solution unique Créer une seule solution, qui contient tous les projets de toutes les solutions (1 à N) et msbuild d'appel sur cette fois. Ce fichier de solution doit être mis à jour chaque fois qu'un nouveau projet arrive.
Y a-t-il une raison pour laquelle vous avez beaucoup de tâches msbuild dans un projet ccnet, plutôt qu'une par solution à construire? –
@SimonLaing: J'ai une solution par MSBuild et de nombreuses solutions (DLL) construites dans un projet ccnet. Une telle structure nous avons dans le référentiel et je veux le garder aussi dans ccnet. – panako