/netcf
Legt fest, dass der Compiler .NET Compact Framework als Zielplattform verwendet.
/netcf
Hinweise
Die /netcf-Option bewirkt, dass der Visual Basic-Compiler auf .NET Compact Framework statt auf das vollständige .NET Framework abzielt. Die Sprachfunktionalität, die nur im vollständigen .NET Framework verfügbar ist, wird deaktiviert.
Die /netcf-Option ist für die Verwendung mit /sdkpath vorgesehen. Die Sprachfeatures, die durch /netcf deaktiviert werden, sind die Sprachfeatures, die in den durch /sdkpath verwendeten Dateien nicht verfügbar sind.
Tipp
Die /netcf-Option ist innerhalb der Entwicklungsumgebung von Visual Studio nicht verfügbar, sondern nur bei der Kompilierung über die Befehlszeile. Die /netcf-Option wird festgelegt, wenn ein Visual Basic-Geräteprojekt geladen wird.
Die /netcf-Option ändert die folgenden Sprachfeatures:
Das End <Schlüsselwort>-Anweisung (Visual Basic)-Schlüsselwort, das die Ausführung eines Programms beendet, wird deaktiviert. Das folgende Programm wird kompiliert und ausgeführt, wenn /netcf nicht angegeben wurde. Bei der Angabe von /netcf schlägt es aber während der Kompilierung fehl.
Module Module1 Sub Main() End ' not valid to terminate execution with /netcf End Sub End Module
Alle Formen des späten Bindens werden deaktiviert. Fehler beim Kompilieren werden generiert, wenn bekannte Szenarios für spätes Binden festgestellt werden. Das folgende Programm wird kompiliert und ausgeführt, wenn /netcf nicht angegeben wurde. Bei der Angabe von /netcf schlägt es aber während der Kompilierung fehl.
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 (Visual Basic), Ansi (Visual Basic) und Unicode (Visual Basic) werden deaktiviert. Die Syntax der Declare-Anweisung-Anweisung wird in Declare Sub|Function name Lib "library" [Alias "alias"] [([arglist])] geändert. Das folgende Codebeispiel veranschaulicht, wie sich /netcf auf eine Kompilierung auswirkt.
' 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
Bei Verwendung von Visual Basic 6.0-Schlüsselwörtern, die aus Visual Basic entfernt wurden, werden andere Fehler generiert als bei Angabe von /netcf. Dies hat Auswirkungen auf die Fehlermeldungen für die folgenden Schlüsselwörter:
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 sich im Standardinstallationsverzeichnis von .NET Compact Framework auf Laufwerk C befinden. In der Regel 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
Referenz
Beispiele für Kompilierungsbefehlszeilen (Visual Basic)