-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