-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

Vedi anche