-netcf
Imposta il compilatore come destinazione di .NET Compact Framework.
Sintassi
-netcf
Osservazioni:
L'opzione -netcf
fa sì che il compilatore Visual Basic punti a .NET Compact Framework anziché a .NET Framework completo. La funzionalità del linguaggio presente solo in .NET Framework completo è disabilitata.
L'opzione -netcf
è progettata per essere utilizzata con -sdkpath. Le funzionalità del linguaggio disabilitate da -netcf
sono le stesse funzionalità del linguaggio non presenti nei file di destinazione con -sdkpath
.
Nota
L'opzione -netcf
non è disponibile nell'ambiente di sviluppo di Visual Studio; è disponibile solo durante la compilazione dalla riga di comando. L'opzione -netcf
viene impostata quando viene caricato un progetto di dispositivo Visual Basic.
L'opzione -netcf
modifica le funzionalità del linguaggio seguenti:
La parola chiave Istruzione< della parola chiave >End, che termina l'esecuzione di un programma, è disabilitata. Il programma seguente viene compilato ed eseguito senza
-netcf
ma ha esito negativo in fase di compilazione con-netcf
.Module Module1 Sub Main() End ' not valid to terminate execution with /netcf End Sub End Module
Il binding tardivo è disabilitato in tutte le forme. Gli errori in fase di compilazione vengono generati quando vengono rilevati scenari di binding tardivo riconosciuti. Il programma seguente viene compilato ed eseguito senza
-netcf
ma ha esito negativo in fase di compilazione con-netcf
.Class LateBoundClass Sub S1() End Sub Default Property P1(ByVal s As String) As Integer Get End Get Set(ByVal Value As Integer) End Set End Property End Class Module Module1 Sub Main() Dim o1 As Object Dim o2 As Object Dim o3 As Object Dim IntArr(3) As Integer o1 = New LateBoundClass o2 = 1 o3 = IntArr ' Late-bound calls o1.S1() o1.P1("member") = 1 ' Dictionary member access o1!member = 1 ' Late-bound overload resolution LateBoundSub(o2) ' Late-bound array o3(1) = 1 End Sub Sub LateBoundSub(ByVal n As Integer) End Sub Sub LateBoundSub(ByVal s As String) End Sub End Module
I modificatori Auto, Ansi e Unicode sono disabilitati. Anche la sintassi dell'istruzione Declare viene modificata in
Declare Sub|Function name Lib "library" [Alias "alias"] [([arglist])]
. Il codice seguente mostra l'effetto di-netcf
su una compilazione.' compile with: /target:library Module Module1 ' valid with or without /netcf Declare Sub DllSub Lib "SomeLib.dll" () ' not valid with /netcf Declare Auto Sub DllSub1 Lib "SomeLib.dll" () Declare Ansi Sub DllSub2 Lib "SomeLib.dll" () Declare Unicode Sub DllSub3 Lib "SomeLib.dll" () End Module
L'utilizzo di parole chiave di Visual Basic 6.0 rimosse da Visual Basic genera un errore diverso quando
-netcf
viene utilizzato. Ciò influisce sui messaggi di errore per le parole chiave seguenti:Open
Close
Put
Print
Write
Input
Lock
Unlock
Seek
Width
Name
FreeFile
EOF
Loc
LOF
Line
Esempio
Il codice seguente compila Myfile.vb
con .NET Compact Framework, usando le versioni di mscorlib.dll e Microsoft.VisualBasic.dll disponibili nella directory di installazione predefinita di .NET Compact Framework nell'unità C. In genere, si usa la versione più recente di .NET Compact Framework.
vbc -netcf -sdkpath:"c:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE " myfile.vb