4 messaggi dal 13 gennaio 2004
Salve a tutti, sto cercando di imparare ASP.NET con il libro di Chris Pais edito per l?Italia da Apogeo (?ASP.NET?).

Ho incontrato difficoltà da pag 164 ?Creazione dei controlli personalizzati? esattamente nella fase di compilazione.

L?autore spiega che per compilare un listato con estensione vb è necessario usare il comando:

vbc /t:library /out:..\binCustomControls.dll /r:System.dll /r:System.Web.dll CustomControl1.vb

Inizialmente l?errore generato era il messaggio ?vbc comando non riconosciuto?

L?autore non spiega infatti che per attivare il comando vbc bisogna impostare nelle variabili d?ambiente alla voce variabili di sistema il path C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322 (nel mio caso)

Nonostante abbia eseguito tutto ciò vi sono ancora dei problemi.
Attualmente mi viene riportato come errore:

vbc : Avviso della riga di comando BC2007 : opzione ?: System.dll non riconosciuta e ignorata
vbc : Errore nella riga di comando BC2012 impossibile aprire ? \binCustomControls.dll per la scrittura

Avete qualche suggerimento in merito.
Vi prego di non dare niente per scontato poiché sono un neofita per quanto concerne la programmazione.

Grazie a tutti
11.886 messaggi dal 09 febbraio 2002
Contributi
Non ti preoccupare, tutti quelli che hanno comprato questo libro si impuntano a quella pagina. Ci sono diversi post come il tuo che hanno proposto questo problema.

L'unica difficoltà con questo comando è che ci sono riferimenti a diversi file e cartelle. Ognuno di loro DEVE ESISTERE. Come tu stesso hai scritto:


L?autore non spiega infatti che per attivare il comando vbc bisogna impostare nelle variabili d?ambiente alla voce variabili di sistema il path


Definendo il path nelle variabili d'ambiente, il file vbc.exe viene trovato. Il path però non funziona per i file passati come argomento (system.dll e system.web.dll). Loro non vengono trovati perche il DOS li va a cercare nella cartella dalla quale lanci il comando. Quindi potrai capire da te che i modi per risolvere sono due:

1) o copi quelle due dll nella stessa cartella in cui lanci il comando
2) oppure (cosa che ti consiglio), indica tutto il percorso per ciascun file che non si trovi nella cartella in cui viene laciato il comando. Cioè:

C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\vbc /t:library /out:..\binCustomControls.dll /r:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.dll /r:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Web.dll CustomControl1.vb

Spero che funzioni...  ciao

Enjoy learning and just keep making
4 messaggi dal 13 gennaio 2004
Scusa se non sono riuscito a rispondere prima...

Per semplicità ho deciso di copiare le due dll nella cartella ?day6?, in seguito ho aperto il prompt mi sono portato nella directory C:\Inetpub\wwwroot\APOGEO\day6>

e ho digitato la stringa seguente:


vbc /t:library /out:..\binCustomControls.dll /r:System.dll /r:System.Web.dll CustomControl1.vb


La risposta ottenuta è stata:

Compilatore Microsoft (R) Visual Basic .NET versione 7.10.3052.4
per Microsoft (R) .NET Framework versione 1.1.4322.573
Copyright (C) Microsoft Corporation 1987-2002. Tutti i diritti riservati.


C:\Inetpub\wwwroot\APOGEO\day6\CustomControl1.vb(1) : error BC30188: Prevista di
chiarazione.

Import System
~~~~~~
C:\Inetpub\wwwroot\APOGEO\day6\CustomControl1.vb(2) : error BC30188: Prevista di
chiarazione.

Import System.Web
~~~~~~
C:\Inetpub\wwwroot\APOGEO\day6\CustomControl1.vb(3) : error BC30188: Prevista di
chiarazione.

Import System.Web.UI
~~~~~~
C:\Inetpub\wwwroot\APOGEO\day6\CustomControl1.vb(6) : error BC30188: Prevista di
chiarazione.

Pubblic Class CustomControl1 : Inherits Control
~~~~~~~
C:\Inetpub\wwwroot\APOGEO\day6\CustomControl1.vb(6) : error BC30001: Istruzione
non valida in uno spazio dei nomi.

Pubblic Class CustomControl1 : Inherits Control
~~~~~~~~~~~~~~~~
C:\Inetpub\wwwroot\APOGEO\day6\CustomControl1.vb(7) : error BC30001: Istruzione
non valida in uno spazio dei nomi.

Protected Overrides Sub Render(Output as HtmlTextWriter)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Inetpub\wwwroot\APOGEO\day6\CustomControl1.vb(10) : error BC30460: 'End Class
' deve essere preceduto da un 'Class' corrispondente.

End Class
~~~~~~~~~




Riporto anche il file CustomControl1.vb per un maggior chiarimento:

Import System
Import System.Web
Import System.Web.UI

Namespace CustomControls
Pubblic Class CustomControl1 : Inherits Control
Protected Overrides Sub Render(Output as HtmlTextWriter)
Output.Write("This is my custom _
control! The time is now " & DateTime.Now.ToString)
End Sub
End Class
End Namespace


Mi sto chiedendo come devono essere dichiarati i namespace Import System, Import System.Web, Import System.Web.UI visto e considerato che mi da sempre errore?

Apparentemente il mio file sembra pieno di errori ma alla fine sembra copiato bene?
Grazie ciao
32 messaggi dal 20 dicembre 2001
www.dinuzzo.it
kibo ha scritto:
Pubblic Class


Public con una b sola

Ciao
Riccardo
5 messaggi dal 12 gennaio 2004
Bella kibo...se non ci sono io a correggerti gli errori di battitura come fai?

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.