Newsgroup: it.comp.lang.visual-basic
Titolo: [.NET] es. classe smtpmail ok con sharpdevelop ko con visual studio...

Ciao a tutti
Scusate l'orrendo oggetto ma non sapevo come impostarlo...
Ieri mi è arrivato visual basic .net 2003 standard e ho iniziato a fare 
qualche prova seguendo il libro che ho. Tutto ok.
Oggi mi invento di cercare la possibilità di inviare una mail tramite un 
programma e trovo sulla documentazione questa classe smtpmail con un 
esempio che fa esattamente quello che voglio io! benissimo
Apro visual basic creo un progetto console copio incollo, eseguo e 
errore! 
L'errore da cui parte tutto presuppongo sia questo:
D:\Elaborati\visual basic net\ConsoleApplication2\Module1.vb(2): 
Impossibile trovare lo spazio dei nomi o il tipo "Mail" per le 
importazioni "System.Web.Mail".
In pratica non trova system.web.mail, e la cosa viene confermata dal 
fatto che quando scrivo system.web. non mi viene proposto mail tra le 
varie opzioni!
Non contento provo a fare la stessa cosa con sharpdevelop e tutto 
funziona al primo colpo!
Perchè?? Perchè da visual basic non posso utilizzare lo spazio nomi 
system.web.mail mentre da sharpdevelop si? 
Spero non sia per il fatto che utilizzo la versione standard...
il codice di esempio lo trovate qui nella sezione visual basic 
naturalmente:
http://snipurl.com/bskp
Ciao e grazie per le info
Mirko
-- 
MirkoB. BMW R1150R Nera...
ne...@bsi-net.it
Questo indirizzo non è da considerarsi pubblico,
ma utilizzabile solo per temi inerenti il NG corrente.

 varie opzioni!
Devi aggiungere tra i riferimenti System.Web
Ciao
-- 
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown 

 Devi aggiungere tra i riferimenti System.Web
Grazie... ma non cambia nulla
nelle dichiarazioni ho:
Imports System
Imports System.Web (aggiunta adesso su tuo suggerimento)
Imports System.Web.Mail
ma mi da sempre lo stesso errore. Non trova quel "mail" eppure compare 
tranquillamente sulla documentazione MS...
non capisco...
Ciao e grazie


 non capisco...
Emmmm... mai sentito parlare di "riferimenti", "dll"... cose così, che ogni
tanto servono ai programmi per funzionare ;)
Evidentemente #D referenzia per default anche la System.Web, che comunque mi
pareva fosse valida sono in app 
asp.net
, ma è facile che mi sbagli.
Ciao
--
Qualunque mentecatto può scrivere codice che un computer possa capire.
I buoni programmatori scrivono codice che gli uomini possano capire.
[Martin Fowler]

 pareva fosse valida sono in app 
asp.net
, ma è facile che mi sbagli.
La system.web la vedo tranquillamente anche da visual basic, è la 
system.web.mail che non trova!
Anche io pensavo che fosse possibile utilizzarla solo da 
asp.net
 ma 
sulla documentazione si parla proprio di visual basic.


 sulla documentazione si parla proprio di visual basic.
Sě, perchč 
asp.net
 si puň scrivere anche in visual basic ;)
Perň (ricorda che potrei sempre sbagliarmi), smtp presuppone, credo, un
server mail sotto, a meno che si riesca ad utilizzare comunque quello del
tuo provider.
Ciao
--
Qualunque mentecatto puň scrivere codice che un computer possa capire.


 tuo provider.
Si può impostare un qualsiasi server smtp, e se non specificato si basa 
su quello locale se c'è.
Il programma funziona perfettamente! Con #D l'ho anche modificato in 
modo proprio di passare anche il parametro del server in modo da poterlo 
modificare a piacere. Ora vorrei studiare la possibilità di creare la 
stessa applicazione ma con un minimo di interfaccia grafica e vorrei 
farlo tramite visual basic (inteso come IDE) visto che l'ho comprato.


 progetto? Io pensavo bastasse "imports system.web.mail"
Vuoi vedere che visual studio e' cosi' stupido che non se ne sta
del solo statement di Imports e vuole qualche flag in modo grafico
nelle Properties del progetto o qualcosa di simile?
-- 
ciao, hal

 nelle Properties del progetto o qualcosa di simile?
Ummm... i post scritti dopo una certa ora peccano di grammatica :)
Comunque VB.Net in VS.Net usa queste strade:
- menu progetto, proprietà.
C'è una funestra dove sono elencate tutte le Imports automatiche, che non
necessitano cioè di essere indicate nel codice.
Personalmente tendo a svuotare questa lista.
- menu progetto, riferimenti, oppure (mi pare strano che ti sia sfuggito!)
nella finestra del progetto (esplora soluzioni) c'è un bel nodo (il primo!)
che si chiama "Riferimenti".
Cosa sarà mai?
Ciao
P.S.: a me l'object explorer viene fuori con F2 perchè ho impostato la
tastiera in stile VB.
--
Qualunque mentecatto può scrivere codice che un computer possa capire.


 Cosa sarà mai?
Mi e' sfuggito perche' da quando uso eclipse mi sono abituato bene:
quando in una classe scrivo che importo un package non occorre che
metta un flag anche da un'altra parte. Non solo, se dimentico di
scrivere un import me lo suggerisce lui :-)
-- 
ciao, hal

 Imports System.Web.Mail
Non l'hai aggiunta tra i riferimenti, l'hai aggiunta tra gli Imports...
L'istruzione Imports non serve a specificare quali librerie aggiuntive 
usera' il tuo progetto, ma soltanto che da li in avanti (e solo nel modulo 
dove lo hai specificato) puoi referenziare gli oggetti della Namespace 
indicata omettendo tutto il prefisso completo... nell'esempio in questione 
questo vuol dire che puoi usare la sintassi
SmtpMail.Send(Message)
al posto di
System.Web.Mail.SmtpMail.Send(Message)
Evidentemente SharpDevelop decide di trasformare automaticamente tutti gli 
imports che trova anche in riferimenti (per questa cosa non esiste un 
istruzione nel linguaggio, sono parametri passati al compilatore), mentre in 
Visual Studio c'e' un menu' apposta nel menu' Project, nonche' un nodo 
'References' nel Solution Explorer.


 nelle Properties del progetto o qualcosa di simile?
Vabbè che costa poco sta versione di visual studio (l'ho presa per 
quello :-) ma che sia anche stupida e così scarsa???
Comunque no, ho trovato delle proprietà del progetto dove poter inserire 
i namespace tra cui c'erano già system e altri, ho provato ad aggiungere 
sia system.web, che system.web.mail ma non è cambiato nulla.
La cosa strana è che sotto #D se scrivo imports system.web. mi propone 
10 possibili alternative da poter mettere dopo quel benedetto web (tra 
cui anche la web), mentre in VS no.
Nessuno ha la possibilità di fare una prova per capire se è il mio 
visual che ha problem oppure è così per tutti?
Ciao ciao


 'References' nel Solution Explorer.
Ti ringrazio adesso funziona e ho capito anche dove stava il problema.
La system.web che vedevo io era quella che faceva parte della system e 
non era propriamente la system.web che cercavo io!


 Potrei anche farne meno?
Si, puo' sempre essere omessa


 Cosa sarà mai?
Ti ringrazio... ora è tutto ok ed ho imparato qualcosa!!
Mi sa tanto che il libro che ho preso è una mezza ciofeca... speriamo 
che andando avanti spieghi anche queste cose, che non mi sembrano 
proprio inutili!
Ciao ciao


 Mi e' sfuggito perche'
Non era riferito a te :)
Qui ho cannato io la reference :P
Ciao


 Qui ho cannato io la reference :P
Ah beh, ma non ci eri andato mica tanto lontano ;-)
-- 
ciao, hal