SCRIPTING .NET

cs_kahuna Messages postés 13 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 1 août 2005 - 5 avril 2005 à 11:02
kamal101 Messages postés 12 Date d'inscription samedi 24 janvier 2004 Statut Membre Dernière intervention 22 mars 2007 - 3 nov. 2005 à 15:57
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/30542-scripting-net

kamal101 Messages postés 12 Date d'inscription samedi 24 janvier 2004 Statut Membre Dernière intervention 22 mars 2007
3 nov. 2005 à 15:57
je n'ai pas le fichier System.Net.dll su mon pc
jai le framework 1.1
commnt je ais?
thuillez Messages postés 32 Date d'inscription mardi 20 juillet 2004 Statut Membre Dernière intervention 24 août 2008
9 août 2005 à 17:55
Il reste plus que les ressources integrée et ce sera parfait
Je te passerai la source!
thuillez Messages postés 32 Date d'inscription mardi 20 juillet 2004 Statut Membre Dernière intervention 24 août 2008
9 août 2005 à 17:46
Ca fonctionne!
J'ai supprime la ligne.
Pour les usings il faut mettre le chemin complet!
sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 1
9 août 2005 à 15:00
C'est pour indiquer au compilateur dans quelle classe se se trouve la fonction Main qui sera utiliser comme point d'entree du programme. En C# tu peux avoir plusieurs fonctions Main.
thuillez Messages postés 32 Date d'inscription mardi 20 juillet 2004 Statut Membre Dernière intervention 24 août 2008
9 août 2005 à 14:57
Pourquoi as tu mis
param.MainClass = "Script";
dans ton code?

Ca me produit une erreur !
sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 1
8 août 2005 à 11:40
en fait il faut les using, mais il faut aussi mettre les reference, et ca pour le moment je ne l'ai pas coder dans mon application. tu dois donc le rajouter, et c'est juste avant de compiler, tu doit avec un truc du genre References dans les options du compilo, c'est un objet de type liste, donc tu fait des Add("System.IO.dll"); Add("System.Net.dll"); etc...

tu ajoute toute les references que tu as besoin
thuillez Messages postés 32 Date d'inscription mardi 20 juillet 2004 Statut Membre Dernière intervention 24 août 2008
8 août 2005 à 10:48
Il y a encore une erreur!
Quand je compille avec ton application, il me mer les erreurs suivantes:
http://perso.wanadoo.fr/ecolege/prog/error_script.JPG

Alors que les premieres lignes sont:
using System;
using System.Drawing;
using System.Diagnostics;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Runtime.InteropServices;
using System.Text;
using System.IO;
using System.Net;
using System.Threading;
using SHDocVw;

Quand on compille avec visual c# il y en a pas.
Il faut aussi declarer les using ?
thuillez Messages postés 32 Date d'inscription mardi 20 juillet 2004 Statut Membre Dernière intervention 24 août 2008
8 août 2005 à 10:37
Ok, merci coq.
Bravo, tu as toujours les bonner reponces !
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
8 août 2005 à 07:48
Tu dois avoir inclus 2 namespace contenant chacun une classe nommée "CompilerError".
Met son nom complet :
foreach (System.CodeDom.Compiler.CompilerError ce in _res.Errors)
thuillez Messages postés 32 Date d'inscription mardi 20 juillet 2004 Statut Membre Dernière intervention 24 août 2008
7 août 2005 à 23:27
Dans le fichier compiler.cs, aus lignes 39 et 54 :
foreach (CompilerError ce in _res.Errors)

Il me met l'erreur:
C:\..\..\compiler.cs(54): 'CompilerError' est une référence ambiguë


Pour le projet complet:
http://perso.wanadoo.fr/ecolege/prog/Scripping.zip
sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 1
7 août 2005 à 17:09
oui tu peux faire un exe direct, il suffit que modifier les parametres donnees au compilateur.
cependant je ton erreur n'est pas tres claire, donnes-en plus si tu veux qu'on puisse t'aider.
thuillez Messages postés 32 Date d'inscription mardi 20 juillet 2004 Statut Membre Dernière intervention 24 août 2008
7 août 2005 à 17:04
Peut on aussi creer directement un *.exe?
Quand j'essaye de compiller il me met:
C:\..\..\compiler.cs(54): 'CompilerError' est une référence ambiguë
sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 1
7 avril 2005 à 18:03
En effet c'est selon moi le meilleur argument mais, je ne l'ai pas citer car beaucoup pourront dire que "tout un chacun" ne code pas en C# ;)

C'est vrai, mais pourtant cette argument reste le meilleur je pense.
lumesh Messages postés 564 Date d'inscription jeudi 21 février 2002 Statut Membre Dernière intervention 7 novembre 2008
7 avril 2005 à 11:22
ou tout simplement créer un système de plugins pour son application tout en proposant a tout un chyacun de developper des plugins puissant, rapide et 100% intégrable au noyau de l'application. Franchement ce système est a etudier tres profondement !
sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 1
5 avril 2005 à 15:09
Ah oui aussi, le script compiler genere une DLL que tu peux utiliser and un programme VB.NET ou ASP.NET

Ca ne serais pas tres complier que modifier le code pour qu'il soit compilalable dans une application VB ou ASP, et aussi pour qu'il puisse compiler du code VB.NET :)
sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 1
5 avril 2005 à 15:05
C'est pratique si par exemple tu veux pouvoir modifier certains comportement de ton application sans avoir a tout recompiler.

Je rappel que les fonctions de compilation sont integrer au Framework, ce qui veut dire que le programme sait compiler du code C# meme sans compilateur, just un "Runtime Environment" suffit :) c'est un peu comme si le JRE savais compiler du code Java sans JDK et sans javac :)

Je n'est pas d'exemple precis sur le moment, mais les applications peuvent etre infini, tu pourrais par exemple faire un programme qui, en fonction de ce que l'utilisateur fait, genere sont propre code, le compile et se re-link dessus, ainsi un programme peut modifier lui-meme sont propre comportement.

Je suis tout a fait d'accord que cela ne sert a rien pour un petit projet, mais imaginez un gros projet avec ce genre de chose.

On pourrais imaginer un client irc style mIRC, il serait totalement depasser point de vue scripting, ou encore toutes les IA pour les jeux video developpée en LUA ou autre.

Imagine que tu fasse un programme qui doit generer des donnes, mais que ces données en sortie, chacun veuille les exploiter selon ses propre besoin, et bien par exemple tu fait un script avec une fonction appeler et qui recoit un objet contenant les données, et la n'importe qui peut ecrire sont petit script afin de formater les données comme il l'entend, et ce sans compilation ni besoin de quoi que soit d'autre.

Un programmeur sur un poste totalement depourvu d'environement de developpement peut tres bien ecrire un script generant de l'xml, un autre generant un RSS ou encore un fichier type .ini ou autre.

Le scripting est tres souvent utiliser dans les jeux video, le probleme est que c'est un peu lent, et pas toujours facile a integrer dans une architecture de plus haut-niveau. La, le code est compiler et executer ensuite par le CLR, donc pas de souci point de vue performance, et point de vue integration, inutile d'en parler car il n'y a meme pas d'integration a faire (pas besoin d'embarquer une VM qui executerais le script)

Voila, mais il pourrait y avoir beaucoup beaucoup d'autre raisons :)

Desolé pour ceux que je n'ai pas reussi a convaincre :P
cs_kahuna Messages postés 13 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 1 août 2005
5 avril 2005 à 11:02
J'aimerais avoir plus de renseignements car ca m'a l'air très interessant mais je ne comprends pas trop comment et dans quelles occasions l'utiliser.
Pourrais tu me l'expliquer ?
Merci d'avance
Rejoignez-nous