-netcf
Ustawia kompilator tak, aby był przeznaczony dla platformy .NET Compact Framework.
Składnia
-netcf
Uwagi
Opcja -netcf
powoduje, że kompilator języka Visual Basic ma być przeznaczony dla programu .NET Compact Framework, a nie pełnego programu .NET Framework. Funkcje języka, które są obecne tylko w pełnym programie .NET Framework, są wyłączone.
Opcja została zaprojektowana -netcf
do użycia z opcją -sdkpath. Funkcje językowe wyłączone przez -netcf
program są tymi samymi funkcjami językowymi, które nie są obecne w plikach przeznaczonych dla -sdkpath
programu .
Uwaga
Opcja -netcf
nie jest dostępna w środowisku programistycznym programu Visual Studio; jest dostępna tylko podczas kompilowania z poziomu wiersza polecenia. Opcja -netcf
jest ustawiana po załadowaniu projektu urządzenia Visual Basic.
Opcja -netcf
zmienia następujące funkcje językowe:
Słowo kluczowe End<— instrukcja,> które kończy wykonywanie programu, jest wyłączone. Poniższy program kompiluje i uruchamia polecenie bez
-netcf
operacji , ale kończy się niepowodzeniem w czasie kompilacji za pomocą polecenia-netcf
.Module Module1 Sub Main() End ' not valid to terminate execution with /netcf End Sub End Module
Opóźnione powiązanie we wszystkich formularzach jest wyłączone. Błędy czasu kompilacji są generowane po napotkaniu rozpoznanych scenariuszy opóźnionych powiązań. Poniższy program kompiluje i uruchamia polecenie bez
-netcf
operacji , ale kończy się niepowodzeniem w czasie kompilacji za pomocą polecenia-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
Modyfikatory Auto, Ansi i Unicode są wyłączone. Składnia instrukcji Declare jest również modyfikowana na
Declare Sub|Function name Lib "library" [Alias "alias"] [([arglist])]
. Poniższy kod przedstawia wpływ-netcf
kompilacji.' 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
Użycie słów kluczowych języka Visual Basic 6.0, które zostały usunięte z języka Visual Basic, powoduje wygenerowanie innego błędu w przypadku
-netcf
użycia. Ma to wpływ na komunikaty o błędach dla następujących słów kluczowych:Open
Close
Put
Print
Write
Input
Lock
Unlock
Seek
Width
Name
FreeFile
EOF
Loc
LOF
Line
Przykład
Poniższy kod kompiluje Myfile.vb
się z platformą .NET Compact Framework przy użyciu wersji mscorlib.dll i Microsoft.VisualBasic.dll znalezionych w domyślnym katalogu instalacyjnym programu .NET Compact Framework na dysku C. Zazwyczaj należy użyć najnowszej wersji programu .NET Compact Framework.
vbc -netcf -sdkpath:"c:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE " myfile.vb