Bonjour,
lorsque je compile le code suivant en ligne
de commande ( csc MonProg1.cs ) le r=E9sulat
est parfait:
//**************************************
using System;
using System.Windows.Forms;
class DidierTest1
{
public static void Main()=20
{
Form toto=3Dnew Form();
toto.ShowDialog();
}
}
//**************************************
Mais lorsque je colle le m=EAme code dans
l'environnement VS.NET il me faut ajouter
la r=E9f=E9rence system.windows.forms dans la fen=EAtre de=20
projet pour que cel=E0 fonctionne.
Pour quelle raison la compilation "sous DOS" peut se
passer de cette r=E9f=E9rence ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Julien Bakmezdjian [MS]
Bonjour,
Lorsque vous utilisez la commande csc, le compilateur utilise une liste de référence par défaut spécifiée dans le fichier csc.rsp. Ce fichier inclut System.Windows.Forms.dll. Lorsque vous compilez depuis VS, la ligne de commande utilisée emploie l'option /noconfig qui empêche l'utilisation de ces références par défaut. A la place, VS ajoute l'option /reference avec la liste des références du projet.
"Didier Gentil" a écrit dans le message de news:73cb01c48434$80413760$ Bonjour, lorsque je compile le code suivant en ligne de commande ( csc MonProg1.cs ) le résulat est parfait: //************************************** using System; using System.Windows.Forms;
class DidierTest1 { public static void Main() { Form toto=new Form(); toto.ShowDialog(); } } //************************************** Mais lorsque je colle le même code dans l'environnement VS.NET il me faut ajouter la référence system.windows.forms dans la fenêtre de projet pour que celà fonctionne. Pour quelle raison la compilation "sous DOS" peut se passer de cette référence ?
Merci
Bonjour,
Lorsque vous utilisez la commande csc, le compilateur utilise une liste de
référence par défaut spécifiée dans le fichier csc.rsp. Ce fichier inclut
System.Windows.Forms.dll.
Lorsque vous compilez depuis VS, la ligne de commande utilisée emploie
l'option /noconfig qui empêche l'utilisation de ces références par défaut. A
la place, VS ajoute l'option /reference avec la liste des références du
projet.
"Didier Gentil" <anonymous@discussions.microsoft.com> a écrit dans le
message de news:73cb01c48434$80413760$a501280a@phx.gbl...
Bonjour,
lorsque je compile le code suivant en ligne
de commande ( csc MonProg1.cs ) le résulat
est parfait:
//**************************************
using System;
using System.Windows.Forms;
class DidierTest1
{
public static void Main()
{
Form toto=new Form();
toto.ShowDialog();
}
}
//**************************************
Mais lorsque je colle le même code dans
l'environnement VS.NET il me faut ajouter
la référence system.windows.forms dans la fenêtre de
projet pour que celà fonctionne.
Pour quelle raison la compilation "sous DOS" peut se
passer de cette référence ?
Lorsque vous utilisez la commande csc, le compilateur utilise une liste de référence par défaut spécifiée dans le fichier csc.rsp. Ce fichier inclut System.Windows.Forms.dll. Lorsque vous compilez depuis VS, la ligne de commande utilisée emploie l'option /noconfig qui empêche l'utilisation de ces références par défaut. A la place, VS ajoute l'option /reference avec la liste des références du projet.
"Didier Gentil" a écrit dans le message de news:73cb01c48434$80413760$ Bonjour, lorsque je compile le code suivant en ligne de commande ( csc MonProg1.cs ) le résulat est parfait: //************************************** using System; using System.Windows.Forms;
class DidierTest1 { public static void Main() { Form toto=new Form(); toto.ShowDialog(); } } //************************************** Mais lorsque je colle le même code dans l'environnement VS.NET il me faut ajouter la référence system.windows.forms dans la fenêtre de projet pour que celà fonctionne. Pour quelle raison la compilation "sous DOS" peut se passer de cette référence ?
Merci
Didier Gentil
Merci, effectivement. Cependant je ne comprends alors pas pourquoi le source suivant ne compile pas sous "Dos": //************************************ class Prog2 { public static void Main() { Form toto=new System.Windows.Forms.Form(); toto.ShowDialog(); } } //************************************ ( pas de clause using )
-----Message d'origine----- Bonjour,
Lorsque vous utilisez la commande csc, le compilateur
utilise une liste de
référence par défaut spécifiée dans le fichier csc.rsp.
Ce fichier inclut
System.Windows.Forms.dll. Lorsque vous compilez depuis VS, la ligne de commande
utilisée emploie
l'option /noconfig qui empêche l'utilisation de ces
références par défaut. A
la place, VS ajoute l'option /reference avec la liste des
message de news:73cb01c48434$80413760$ Bonjour, lorsque je compile le code suivant en ligne de commande ( csc MonProg1.cs ) le résulat est parfait: //************************************** using System; using System.Windows.Forms;
class DidierTest1 { public static void Main() { Form toto=new Form(); toto.ShowDialog(); } } //************************************** Mais lorsque je colle le même code dans l'environnement VS.NET il me faut ajouter la référence system.windows.forms dans la fenêtre de projet pour que celà fonctionne. Pour quelle raison la compilation "sous DOS" peut se passer de cette référence ?
Merci
.
Merci, effectivement.
Cependant je ne comprends alors pas pourquoi le source
suivant ne compile pas sous "Dos":
//************************************
class Prog2
{
public static void Main()
{
Form toto=new System.Windows.Forms.Form();
toto.ShowDialog();
}
}
//************************************
( pas de clause using )
-----Message d'origine-----
Bonjour,
Lorsque vous utilisez la commande csc, le compilateur
utilise une liste de
référence par défaut spécifiée dans le fichier csc.rsp.
Ce fichier inclut
System.Windows.Forms.dll.
Lorsque vous compilez depuis VS, la ligne de commande
utilisée emploie
l'option /noconfig qui empêche l'utilisation de ces
références par défaut. A
la place, VS ajoute l'option /reference avec la liste des
"Didier Gentil" <anonymous@discussions.microsoft.com> a
écrit dans le
message de news:73cb01c48434$80413760$a501280a@phx.gbl...
Bonjour,
lorsque je compile le code suivant en ligne
de commande ( csc MonProg1.cs ) le résulat
est parfait:
//**************************************
using System;
using System.Windows.Forms;
class DidierTest1
{
public static void Main()
{
Form toto=new Form();
toto.ShowDialog();
}
}
//**************************************
Mais lorsque je colle le même code dans
l'environnement VS.NET il me faut ajouter
la référence system.windows.forms dans la fenêtre de
projet pour que celà fonctionne.
Pour quelle raison la compilation "sous DOS" peut se
passer de cette référence ?
Merci, effectivement. Cependant je ne comprends alors pas pourquoi le source suivant ne compile pas sous "Dos": //************************************ class Prog2 { public static void Main() { Form toto=new System.Windows.Forms.Form(); toto.ShowDialog(); } } //************************************ ( pas de clause using )
-----Message d'origine----- Bonjour,
Lorsque vous utilisez la commande csc, le compilateur
utilise une liste de
référence par défaut spécifiée dans le fichier csc.rsp.
Ce fichier inclut
System.Windows.Forms.dll. Lorsque vous compilez depuis VS, la ligne de commande
utilisée emploie
l'option /noconfig qui empêche l'utilisation de ces
références par défaut. A
la place, VS ajoute l'option /reference avec la liste des
message de news:73cb01c48434$80413760$ Bonjour, lorsque je compile le code suivant en ligne de commande ( csc MonProg1.cs ) le résulat est parfait: //************************************** using System; using System.Windows.Forms;
class DidierTest1 { public static void Main() { Form toto=new Form(); toto.ShowDialog(); } } //************************************** Mais lorsque je colle le même code dans l'environnement VS.NET il me faut ajouter la référence system.windows.forms dans la fenêtre de projet pour que celà fonctionne. Pour quelle raison la compilation "sous DOS" peut se passer de cette référence ?
Merci
.
Julien Bakmezdjian [MS]
Didier,
Les références indiquées au compilateur (références par défaut ou explicites) permettent de trouver les classes dans d'autres assemblys à partir de leur nom complet.
Lorsque vous employez la classe 'Form', vous utilisez en fait la classe 'System.Windows.Forms.Form'. Avant la compilation, tous les 'Form' sont donc remplacés par 'System.Windows.Forms.Form'... si l'on a bien précisé 'using System.Windows.Forms'. Le programme peut ensuire être compilé car System.Windows.Forms.Form est une classe que le compilo connaît : elle se trouve dans une des références indiquées. S'il n'y a pas de using qui permet de transformer le simple 'Form' en 'System.Windows.Forms.Form', le compilateur sera perdu, car la classe 'Form' tout court n'est définie dans aucune assembly.
Dans votre code sans using, vous avez tout simplement oublié de transformer explicitement le 'Form' de : Form toto=new System.Windows.Forms.Form(); Essayez donc : System.Windows.Forms.Form toto=new System.Windows.Forms.Form();
Cordialement,
Julien
"Didier Gentil" a écrit dans le message de news:04aa01c48450$c539b4c0$ Merci, effectivement. Cependant je ne comprends alors pas pourquoi le source suivant ne compile pas sous "Dos": //************************************ class Prog2 { public static void Main() { Form toto=new System.Windows.Forms.Form(); toto.ShowDialog(); } } //************************************ ( pas de clause using )
-----Message d'origine----- Bonjour,
Lorsque vous utilisez la commande csc, le compilateur
utilise une liste de
référence par défaut spécifiée dans le fichier csc.rsp.
Ce fichier inclut
System.Windows.Forms.dll. Lorsque vous compilez depuis VS, la ligne de commande
utilisée emploie
l'option /noconfig qui empêche l'utilisation de ces
références par défaut. A
la place, VS ajoute l'option /reference avec la liste des
message de news:73cb01c48434$80413760$ Bonjour, lorsque je compile le code suivant en ligne de commande ( csc MonProg1.cs ) le résulat est parfait: //************************************** using System; using System.Windows.Forms;
class DidierTest1 { public static void Main() { Form toto=new Form(); toto.ShowDialog(); } } //************************************** Mais lorsque je colle le même code dans l'environnement VS.NET il me faut ajouter la référence system.windows.forms dans la fenêtre de projet pour que celà fonctionne. Pour quelle raison la compilation "sous DOS" peut se passer de cette référence ?
Merci
.
Didier,
Les références indiquées au compilateur (références par défaut ou
explicites) permettent de trouver les classes dans d'autres assemblys à
partir de leur nom complet.
Lorsque vous employez la classe 'Form', vous utilisez en fait la classe
'System.Windows.Forms.Form'. Avant la compilation, tous les 'Form' sont donc
remplacés par 'System.Windows.Forms.Form'... si l'on a bien précisé 'using
System.Windows.Forms'. Le programme peut ensuire être compilé car
System.Windows.Forms.Form est une classe que le compilo connaît : elle se
trouve dans une des références indiquées. S'il n'y a pas de using qui permet
de transformer le simple 'Form' en 'System.Windows.Forms.Form', le
compilateur sera perdu, car la classe 'Form' tout court n'est définie dans
aucune assembly.
Dans votre code sans using, vous avez tout simplement oublié de transformer
explicitement le 'Form' de :
Form toto=new System.Windows.Forms.Form();
Essayez donc :
System.Windows.Forms.Form toto=new System.Windows.Forms.Form();
Cordialement,
Julien
"Didier Gentil" <anonymous@discussions.microsoft.com> a écrit dans le
message de news:04aa01c48450$c539b4c0$a301280a@phx.gbl...
Merci, effectivement.
Cependant je ne comprends alors pas pourquoi le source
suivant ne compile pas sous "Dos":
//************************************
class Prog2
{
public static void Main()
{
Form toto=new System.Windows.Forms.Form();
toto.ShowDialog();
}
}
//************************************
( pas de clause using )
-----Message d'origine-----
Bonjour,
Lorsque vous utilisez la commande csc, le compilateur
utilise une liste de
référence par défaut spécifiée dans le fichier csc.rsp.
Ce fichier inclut
System.Windows.Forms.dll.
Lorsque vous compilez depuis VS, la ligne de commande
utilisée emploie
l'option /noconfig qui empêche l'utilisation de ces
références par défaut. A
la place, VS ajoute l'option /reference avec la liste des
"Didier Gentil" <anonymous@discussions.microsoft.com> a
écrit dans le
message de news:73cb01c48434$80413760$a501280a@phx.gbl...
Bonjour,
lorsque je compile le code suivant en ligne
de commande ( csc MonProg1.cs ) le résulat
est parfait:
//**************************************
using System;
using System.Windows.Forms;
class DidierTest1
{
public static void Main()
{
Form toto=new Form();
toto.ShowDialog();
}
}
//**************************************
Mais lorsque je colle le même code dans
l'environnement VS.NET il me faut ajouter
la référence system.windows.forms dans la fenêtre de
projet pour que celà fonctionne.
Pour quelle raison la compilation "sous DOS" peut se
passer de cette référence ?
Les références indiquées au compilateur (références par défaut ou explicites) permettent de trouver les classes dans d'autres assemblys à partir de leur nom complet.
Lorsque vous employez la classe 'Form', vous utilisez en fait la classe 'System.Windows.Forms.Form'. Avant la compilation, tous les 'Form' sont donc remplacés par 'System.Windows.Forms.Form'... si l'on a bien précisé 'using System.Windows.Forms'. Le programme peut ensuire être compilé car System.Windows.Forms.Form est une classe que le compilo connaît : elle se trouve dans une des références indiquées. S'il n'y a pas de using qui permet de transformer le simple 'Form' en 'System.Windows.Forms.Form', le compilateur sera perdu, car la classe 'Form' tout court n'est définie dans aucune assembly.
Dans votre code sans using, vous avez tout simplement oublié de transformer explicitement le 'Form' de : Form toto=new System.Windows.Forms.Form(); Essayez donc : System.Windows.Forms.Form toto=new System.Windows.Forms.Form();
Cordialement,
Julien
"Didier Gentil" a écrit dans le message de news:04aa01c48450$c539b4c0$ Merci, effectivement. Cependant je ne comprends alors pas pourquoi le source suivant ne compile pas sous "Dos": //************************************ class Prog2 { public static void Main() { Form toto=new System.Windows.Forms.Form(); toto.ShowDialog(); } } //************************************ ( pas de clause using )
-----Message d'origine----- Bonjour,
Lorsque vous utilisez la commande csc, le compilateur
utilise une liste de
référence par défaut spécifiée dans le fichier csc.rsp.
Ce fichier inclut
System.Windows.Forms.dll. Lorsque vous compilez depuis VS, la ligne de commande
utilisée emploie
l'option /noconfig qui empêche l'utilisation de ces
références par défaut. A
la place, VS ajoute l'option /reference avec la liste des
message de news:73cb01c48434$80413760$ Bonjour, lorsque je compile le code suivant en ligne de commande ( csc MonProg1.cs ) le résulat est parfait: //************************************** using System; using System.Windows.Forms;
class DidierTest1 { public static void Main() { Form toto=new Form(); toto.ShowDialog(); } } //************************************** Mais lorsque je colle le même code dans l'environnement VS.NET il me faut ajouter la référence system.windows.forms dans la fenêtre de projet pour que celà fonctionne. Pour quelle raison la compilation "sous DOS" peut se passer de cette référence ?