Freigeben über


-netcf

Legt den Compiler als Ziel für .NET Compact Framework fest.

Syntax

-netcf

Hinweise

Die Option -netcf bewirkt, dass der Visual Basic-Compiler .NET Compact Framework anstelle des vollständigen .NET Framework anzielt. Sprachfeatures, die nur im vollständigen .NET Framework vorhanden sind, sind deaktiviert.

Die -netcf-Option ist für die Verwendung mit -sdkpath konzipiert. Bei den Sprachfeatures, die von -netcf deaktiviert werden, handelt es sich um die gleichen Sprachfeatures, die auch in Dateien nicht vorhanden sind, die mit -sdkpath angezielt werden.

Hinweis

Die Option -netcf steht nicht in der Visual Studio-Entwicklungsumgebung zur Verfügung. Sie ist nur verfügbar, wenn Sie über die Befehlszeile kompilieren. Die Option -netcf wird festgelegt, wenn ein Visual Basic-Geräteprojekt geladen wird.

Mit der Option -netcf werden die folgenden Sprachfeatures geändert:

  • Die End <Schlüsselwort>-Anweisung, die die Ausführung eines Programms beendet, ist deaktiviert. Das folgende Programm kann ohne -netcf kompiliert und ausgeführt werden, schlägt aber fehl, wenn -netcf zur Kompilierzeit enthalten ist.

    Module Module1
        Sub Main()
            End   ' not valid to terminate execution with /netcf
        End Sub
    End Module
    
  • Die späte Bindung ist in allen Formularen deaktiviert. Wenn späte Bindungen erkannt werden, werden Kompilierzeitfehler generiert. Das folgende Programm kann ohne -netcf kompiliert und ausgeführt werden, schlägt aber fehl, wenn -netcf zur Kompilierzeit enthalten ist.

    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
    
  • Die Modifizierer Auto, ANSI und Unicode werden deaktiviert. Die Syntax der Declare-Anweisung wird zudem in Declare Sub|Function name Lib "library" [Alias "alias"] [([arglist])] geändert. Der folgende Code zeigt die Auswirkungen von -netcf auf eine Kompilierung.

    ' 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
    
  • Die Verwendung von Visual Basic 6.0-Schlüsselwörtern, die aus Visual Basic entfernt wurden, generiert bei Verwendung von -netcf einen anderen Fehler. Dieses Verhalten wirkt sich auf die Fehlermeldungen für die folgenden Schlüsselwörter aus:

    • Open

    • Close

    • Put

    • Print

    • Write

    • Input

    • Lock

    • Unlock

    • Seek

    • Width

    • Name

    • FreeFile

    • EOF

    • Loc

    • LOF

    • Line

Beispiel

Mit dem folgenden Code wird Myfile.vb mit .NET Compact Framework kompiliert. Dabei werden die Versionen von „mscorlib.dll“ und „Microsoft.VisualBasic.dll“ verwendet, die im Standardinstallationsverzeichnis von .NET Compact Framework auf Laufwerk C: gefunden werden. Normalerweise verwenden Sie die neueste Version von .NET Compact Framework.

vbc -netcf -sdkpath:"c:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE " myfile.vb

Siehe auch