Compiler un programme avec du code [Résolu]

Messages postés
265
Date d'inscription
dimanche 14 avril 2013
Dernière intervention
23 mai 2014
- - Dernière réponse : cs_louis14
Messages postés
788
Date d'inscription
mardi 8 juillet 2003
Dernière intervention
8 mars 2017
- 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
Afficher la suite 

Votre réponse

15 réponses

Meilleure réponse
Messages postés
265
Date d'inscription
dimanche 14 avril 2013
Dernière intervention
23 mai 2014
3
Merci
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

Merci Hermios 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de Hermios
Messages postés
14279
Date d'inscription
lundi 11 juillet 2005
Dernière intervention
11 décembre 2018
0
Merci
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...
Commenter la réponse de BunoCS
Messages postés
265
Date d'inscription
dimanche 14 avril 2013
Dernière intervention
23 mai 2014
0
Merci
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
Commenter la réponse de Hermios
Messages postés
14279
Date d'inscription
lundi 11 juillet 2005
Dernière intervention
11 décembre 2018
0
Merci
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...
Commenter la réponse de BunoCS
Messages postés
265
Date d'inscription
dimanche 14 avril 2013
Dernière intervention
23 mai 2014
0
Merci
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
Commenter la réponse de Hermios
Messages postés
14279
Date d'inscription
lundi 11 juillet 2005
Dernière intervention
11 décembre 2018
0
Merci
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...
Commenter la réponse de BunoCS
Messages postés
14279
Date d'inscription
lundi 11 juillet 2005
Dernière intervention
11 décembre 2018
0
Merci
Site officiel
Tuto


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Commenter la réponse de BunoCS
Messages postés
265
Date d'inscription
dimanche 14 avril 2013
Dernière intervention
23 mai 2014
0
Merci
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
Commenter la réponse de Hermios
Messages postés
14279
Date d'inscription
lundi 11 juillet 2005
Dernière intervention
11 décembre 2018
0
Merci
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...
Commenter la réponse de BunoCS
Messages postés
788
Date d'inscription
mardi 8 juillet 2003
Dernière intervention
8 mars 2017
0
Merci
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
Commenter la réponse de cs_louis14
Messages postés
788
Date d'inscription
mardi 8 juillet 2003
Dernière intervention
8 mars 2017
0
Merci
OUps je n'avais pas vu que tu parlais de codedom

louis
Commenter la réponse de cs_louis14
Messages postés
265
Date d'inscription
dimanche 14 avril 2013
Dernière intervention
23 mai 2014
0
Merci
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
Commenter la réponse de Hermios
Messages postés
788
Date d'inscription
mardi 8 juillet 2003
Dernière intervention
8 mars 2017
0
Merci
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
Commenter la réponse de cs_louis14
Messages postés
265
Date d'inscription
dimanche 14 avril 2013
Dernière intervention
23 mai 2014
0
Merci
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
Commenter la réponse de Hermios
Messages postés
788
Date d'inscription
mardi 8 juillet 2003
Dernière intervention
8 mars 2017
0
Merci
Je pense que ce livre peut t'interresser :
http://my.safaribooksonline.com/...
Bon codage


louis
Commenter la réponse de cs_louis14

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.