Compiler un programme avec du code

Résolu
Hermios Messages postés 264 Date d'inscription dimanche 14 avril 2013 Statut Membre Dernière intervention 23 mai 2014 - 15 sept. 2011 à 11:57
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 - 16 sept. 2011 à 10:55
Salut à tous,
Alors de ce que j'ai pu lire, c'Est un sujet récurrent, mais malgré toutes les infos, je suis perdu, donc :
A la base, je voudrai compiler un programme csproj (créé sous visual c#), à partir d'un autre programme c# (Créé lui aussi sous Visual c#, mais ca, c'est pas important!).
Le mieux, ce serait de le faire via des librairies, et pour ca, y a codedomprovider. Malheureusement, ca ne permet de compiler qu'un seul fichier (ce que j'ai compris), et pas tout un projet.
Donc j'ai vu msbuild, qui semble ne pas avoir de librairie associée, donc par command line.
Et c'est là que je comprend rien : Je peux définir un projet de départ, mais comment définir le fichier de sortie (En dynamique si possible, sans avoir à toucher à un quelconque xml!)?

Merci beaucoup de votre aide


@+. Hermios

15 réponses

Hermios Messages postés 264 Date d'inscription dimanche 14 avril 2013 Statut Membre Dernière intervention 23 mai 2014 2
16 sept. 2011 à 10:52
Bon, ben en fait j'ai compris tout seul:
msbuild a comme paramètre un fichier csproj, et c'est CE fichier qui contient toutes les données, au format xml. C'est bête, mais fallait y penser.

Bon, même si c'est moi qui ait trouvé, merci à vous pour votre aide, c'est toujours bien sympa!

Bonne journée


@+. Hermios
3
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
15 sept. 2011 à 14:47
Hello,
Tu veux compiler un projet à partir d'une de tes applications?
Quel est l'objectif?


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
Hermios Messages postés 264 Date d'inscription dimanche 14 avril 2013 Statut Membre Dernière intervention 23 mai 2014 2
15 sept. 2011 à 15:02
Salut Buno
En fait, il s'agit de faire un programme "clé en main", pour des gentils gens pas programmeurs pour deux sous :
Mon programme leur permet de sélectionner des fonctions, puis cliquer sur un bouton et ca génère le tout dans un fichier cs, dans un projet préconstruit, reste plus qu'à compiler le tout.
Voilà! :D


@+. Hermios
0
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
15 sept. 2011 à 15:15
Tu ferais mieux, je pense, de générer un fichier ini avec un exe déjà compilé qui, suivant les valeurs du fichiers ini, désactiverait certaines fonctionnalité.
Sinon, tu peux regarder du côté des makefile, nmake,...


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Hermios Messages postés 264 Date d'inscription dimanche 14 avril 2013 Statut Membre Dernière intervention 23 mai 2014 2
15 sept. 2011 à 15:43
Hum, le fichier exe avec des données à désactiver, c'est pas possible :
Le but est de générer des batteries de tests, donc plusieurs fichiers, qui vont ensuite, sous forme de dll, être appelés par un programme de test. Donc c'est mort.
pour les makefile, tu saurais me donner plus de précisions?
Merci beaucoup


@+. Hermios
0
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
15 sept. 2011 à 15:56
Ah..tu es dans une optique de tests automatisés...
As-tu regardé du côté de Hudson?


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
15 sept. 2011 à 15:57
Site officiel
Tuto


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
Hermios Messages postés 264 Date d'inscription dimanche 14 avril 2013 Statut Membre Dernière intervention 23 mai 2014 2
15 sept. 2011 à 16:04
Yop,
Dsl, mais là encore, ca va pas :
Un process a déjà été établi, je n'ai pas le droit de changer de méthode, et en particulier d'utiliser un autre soft.
Et de toute facon, mes tests ne concernent pas du code à proprement parlé, mais la partie utilisateur d'une appli web.
Donc vraiment, je pourrai pas utiliser Hudson (Pas pour ca en tout cas, mais merci du renseignement, ca peut me servir pour autre chose!)


@+. Hermios
0
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
15 sept. 2011 à 16:18
Grrr...tu es dur en affaire, toi
Bon, sinon, les makefiles...Je lui loin d'être compétent dans ce domaine (faudrait un linuxien, tiens) mais, en gros, ce fichier contient les commandes de compilation pour ton projet.
Regarde ce lien te montrant comment utiliser nmake

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
16 sept. 2011 à 09:24
Bonjour,
est-ce des articles de ce type peuvent t'aider :
http://www.codeproject.com/KB/dotnet/dynacodgen.aspx
http://www.codeproject.com/KB/dotnet/CompilingWithCodeDom.aspx

J'ai exploré un peu cette possibilité pour éditer un peu de code et le compiler ensuite pour améliorer les performances plutôt que de l'interpréter.
louis
0
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
16 sept. 2011 à 10:03
OUps je n'avais pas vu que tu parlais de codedom

louis
0
Hermios Messages postés 264 Date d'inscription dimanche 14 avril 2013 Statut Membre Dernière intervention 23 mai 2014 2
16 sept. 2011 à 10:12
Buno, j'ai fait du commerce à une époque, t'as aucune chance ;)
Je vais regarder le lien, mais j'ai des doutes : Devoir refaire tout le makefile soit même, alors que j'arrive pas à utiliser les librairies, c'est surestimer mes compétences! Enfin, je vais voir :)
Louis, merci de ta réponse. le second lien concerne du VB, et je n'ai pas trouvé d'équivalent en C#, donc...
En revanche le premier lien correspond bien à ce que je veux, ou presque, mais
1- Il semblerait que tu ne puisses pas compiler tout un projet avec
2- Comment je définis ma sortie?

La meilleure des solutions semble rester msbuild (Surtout que je me suis rendu compte, que une fois le fichier généré, il faut aussi le mapper au reste du projet, c'est bête, mais j'y avais plus pensé). La question étant : Comment ca marche! Je continue à chercher, si vous avez des pistes, je suis preneur.

Merci de votre aide en tout cas :D

@+. Hermios
0
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
16 sept. 2011 à 10:17
Bonjour,

Je ne sais pas si ce lien peut te servir, mais au final il a un executable avec toutes étapes bien décrite :
http://www.c-sharpcorner.com/UploadFile/skarthikeyan/DynamicCreatingApplication06022005064351AM/DynamicCreatingApplication.aspx

On aboutit bien à un exécutable.



louis
0
Hermios Messages postés 264 Date d'inscription dimanche 14 avril 2013 Statut Membre Dernière intervention 23 mai 2014 2
16 sept. 2011 à 10:25
Re,
Dsl (Comme dirait Buno., je suis vraiment dur!), mais il s'agit là encore de ne compiler qu'un fichier, alors que je voudrais compiler tout un projet. Comme dit, codeprovider ne semble pas adapté dans ce cas, il faut utiliser msbuild.
Or msBuild ne me parait pas clair du tout : Comment définir le fichier de sortie, et comment mapper un fichier à un projet existant, tant de questions existentielles, sans réponses!



@+. Hermios
0
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
16 sept. 2011 à 10:55
Je pense que ce livre peut t'interresser :
http://my.safaribooksonline.com/...
Bon codage


louis
0
Rejoignez-nous