Générateur de solutions visual studio .net

Soyez le premier à donner votre avis sur cette source.

Vue 11 712 fois - Téléchargée 827 fois

Description

Cette source permet de compiler une solution VS .NET 2003 (j'ai pas testé pour 2002) contenant des projets C# et/ou VB.NET sans Visual Studio, pour ceux qui n'ont pas VS.NET/VB.NET/VC#.NET ou tout simplement dans des cas où on peut pas installer VS.NET (perso je garde mes sources sur une clef USB avec le framework .NET dessus, et c'est bien pratique de pouvoir compiler mes projets sur place). Elle permet aussi de changer les options transmises au compilateur, par exemple de spécifier telle config, de suprimmer tel avertissement, etc.

J'ai ajouté un petit support pour les projets VC++ .NET: MakeNet peut générer une solution qui contient un projet VC++ .NET déjà compilé, c'est à dire qu'il peut lire un tel projet et repérer le fichier cible du projet.
Attention: le support de VC++ .NET est EXPERIMENTAL.
Si ca marche, c'est bien, sinon tant pis.

Pour l'instant les seules solutions que j'arrive pas à générer sont celles qui utilisent des contrôles ActiveX ou des composants COM.

Voici en gros comment il marche:

Si on le lance sans paramètre il va chercher à compiler une solution dans le dossier en cours.
S'il y a plusieurs solutions dans le dossier en cours ou qu'on ne le lance pas à l'invite de commandes, on peut spécifier la solution:

makenet /solution:"fichier"

On peut aussi compiler un projet seul (qui n'a pas de dépendances de projets):

makenet /project:"fichier"

On peut sélectionner une configuration pour tous les projets:

makenet /config:Debug

Ou pour chaque projet:

makenet {Projet1: /config:Debug} {Projet2: /config:Release}

En règle générale chaque option de MakeNet peut être utilisée avec un projet précis.
On peut aussi passer des arguments au compilateur:

makenet /debug- {Projet1: /debug+}
makenet /nologo

On peut aussi afficher des infos sur les projets présents dans la solution:

makenet /showinfo

Enfin, l'option /#debug attend que l'utilisateur appuie sur une touche avant de fermer la console.

Conclusion :


Même s'il n'y a pas besoin de VS.NET pour la compilation, on a toujours besoin du Framework .NET, mais c'est beaucoup plus facile à déployer que VS .NET :)

Pour le compiler, lancer juste build.bat dans le dossier du projet. Il devrait d'abord se compiler avec des options globales puis se recompiler lui-même avec les options du projet.

Ce qu'il reste à faire:
-inscription dans le GAC
-inscription pour COM Interop
-utilisation de contrôles ActiveX ou COM

Voilà. J'espère que ca sera utile à d'autres que moi :)

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
103
Date d'inscription
lundi 8 juillet 2002
Statut
Membre
Dernière intervention
24 novembre 2005

Le problème des makefiles c'est qu'il faut y mettre tout ce que le programme fait, par exemple CreateDirectory va créer tous les dossiers et sous-dossiers nécessaires (par ex pour "bin\Debug") et que la commande md de permet pas. Après il y a le problème des ressources RESX à compiler, puisque resgen n'est pas inclus dans le Framework .NET. J'ai essayé d'inclure une option pour créer un makefile mais j'ai vite abandonné.

Je pense qu'il est plus simple de déployer MakeNet puis d'ouvrir une console pour le lancer sans paramètre, ou même de l'associer aux fichiers .sln dans l'explorateur Windows avec les commandes:

Config par défaut (souvent Debug):
"<chemin>\MakeNet.exe" /#debug /#nologo /solution:%1

Release si possible:
"<chemin>\MakeNet.exe" /#debug /#nologo /solution:%1 /config:Release

D'ailleurs faudrait que j'ajoute une option pour qu'il pour le fasse seul, comme ca il n'y a meme pas besoin de passer par la ligne de commande juste pour compiler une solution.

Pour le support des ActiveX, c'est prévu, je le ferai après le GAC.


Xya
Messages postés
1221
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018

Intéressant. Dommage que cela ne gère pas les ActiveX. N'est-il pas possible de générer un fichier make.bat de compilation en parsant le fichier projet ? après tout, toutes les options de compilation sont dans le projet (par exemple le mode debug/release, les imports, ...). Je crois que Visual Studio 6 générait lui-même un fichier make.bat, non ?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.