-netcf
Nastaví kompilátor tak, aby cílil na rozhraní .NET Compact Framework.
Syntaxe
-netcf
Poznámky
Tato -netcf
možnost způsobí, že kompilátor jazyka Visual Basic bude cílit na .NET Compact Framework, nikoli na úplné rozhraní .NET Framework. Funkce jazyka, která se nachází pouze v plném rozhraní .NET Framework, je zakázaná.
Tato -netcf
možnost je navržená tak, aby se používala s parametrem -sdkpath. Jazykové funkce zakázané -netcf
jsou stejné jazykové funkce, které nejsou v souborech cílených -sdkpath
.
Poznámka:
Tato -netcf
možnost není k dispozici ve vývojovém prostředí sady Visual Studio. Tato možnost je k dispozici pouze při kompilaci z příkazového řádku. Tato -netcf
možnost je nastavena při načtení projektu zařízení jazyka Visual Basic.
Možnost -netcf
změní následující jazykové funkce:
Klíčové slovo End <keyword Statement klíčové slovo>, které ukončí provádění programu, je zakázáno. Následující program se zkompiluje a spouští bez
-netcf
kompilace v době kompilace s-netcf
.Module Module1 Sub Main() End ' not valid to terminate execution with /netcf End Sub End Module
Pozdní vazba je ve všech formulářích zakázaná. Chyby v době kompilace se generují, když jsou zjištěny rozpoznané scénáře s pozdní vazbou. Následující program se zkompiluje a spouští bez
-netcf
kompilace v době kompilace s-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
Modifikátory Auto, Ansi a Unicode jsou zakázány. Syntaxe příkazu Declare je také změněna na
Declare Sub|Function name Lib "library" [Alias "alias"] [([arglist])]
. Následující kód ukazuje účinek-netcf
na kompilaci.' 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
Použití klíčových slov jazyka Visual Basic 6.0, která byla odebrána z jazyka Visual Basic, generuje při použití jinou chybu
-netcf
. To má vliv na chybové zprávy pro následující klíčová slova:Open
Close
Put
Print
Write
Input
Lock
Unlock
Seek
Width
Name
FreeFile
EOF
Loc
LOF
Line
Příklad
Následující kód se zkompiluje Myfile.vb
s rozhraním .NET Compact Framework pomocí verzí mscorlib.dll a Microsoft.VisualBasic.dll nalezených ve výchozím instalačním adresáři rozhraní .NET Compact Framework na jednotce C. Obvykle byste použili nejnovější verzi rozhraní .NET Compact Framework.
vbc -netcf -sdkpath:"c:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE " myfile.vb