2010-05-06 14 views
3

J'ai une situation où j'ai besoin de générer un tas de fichiers de code C# dans une étape de pré-construction d'un projet et d'inclure les fichiers générés dans le projet en cours pour la compilation. Existe-t-il un moyen de le faire proprement sans avoir à nettoyer le fichier de projet à chaque fois que l'étape de préconfiguration est exécutée?Comment inclure automatiquement les fichiers source générés dans un projet C# dans Visual Studio?

Ma solution devrait fonctionner à la fois pour la construction basée sur l'EDI et pour une construction d'équipe basée sur MSBuild. Puisque les deux sont basés sur MSBuild, je soupçonne qu'il n'y aura pas beaucoup de différence; mais je voulais l'appeler.

Toute aide est grandement appréciée, merci!

Répondre

2

Une façon d'aller serait d'utiliser un outil personnalisé comme Linq 2 SQL fait sur le fichier dbml avec l'outil MSLinqToSQLGenerator. Mais je ne pense pas que l'outil personnalisé fonctionne avec MSBuild.

Developing a Visual Studio Custom Tool

+0

Je générerais ces fichiers à partir d'une DLL; et je ne sais pas combien d'entre eux seraient générés avant la main. Sinon, je pourrais utiliser des espaces réservés ou des outils personnalisés sur d'autres fichiers de définition. –

+0

Quelqu'un a suggéré d'utiliser un outil personnalisé et de modifier la définition de projet MSBuild en écrivant une tâche personnalisée qui génère ces fichiers et les inclut dans le projet pendant la compilation. À ce stade, cela ressemble à une alternative viable. J'aurai besoin de beaucoup de temps pour tout mettre ensemble. Donc, n'aura pas un moyen immédiat de vérifier cela. Pour le moment, je considère cela comme une réponse. Merci à tous pour vos bonnes réponses. –

-1

J'ai un projet comme celui-ci. Le développeur précédent a simplement ajouté les copies actuelles des fichiers, maintenant chaque fois que le projet qu'il a construit, ils sont attirés.

D'autre part, il n'a pas documenté cela, donc ce n'était pas du tout évident; Je devais passer un peu de temps à comprendre ce qui se passait. Mais je n'ai pas eu à modifier la configuration.

+0

OK; dans mon cas, je ne sais pas combien de fichiers je devrais générer auparavant. C'est le plus gros obstacle qui m'arrête. Sinon, je pourrais utiliser des espaces réservés. –