-NetCF
Define o compilador para direcionar o .NET Compact Framework.
Sintaxe
-netcf
Observações
A -netcf
opção faz com que o compilador do Visual Basic tenha como destino o .NET Compact Framework em vez do .NET Framework completo. A funcionalidade de linguagem que está presente apenas no .NET Framework completo está desabilitada.
A -netcf
opção foi projetada para ser usada com -sdkpath. Os recursos de idioma desabilitados por -netcf
são os mesmos recursos de idioma não presentes nos arquivos de destino com -sdkpath
.
Nota
A -netcf
opção não está disponível no ambiente de desenvolvimento do Visual Studio, ela está disponível apenas ao compilar a partir da linha de comando. A -netcf
opção é definida quando um projeto de dispositivo Visual Basic é carregado.
A -netcf
opção altera os seguintes recursos de idioma:
A palavra-chave End <keyword> Statement , que encerra a execução de um programa, está desativada. O programa a seguir compila e é executado sem,
-netcf
mas falha em tempo de compilação com-netcf
.Module Module1 Sub Main() End ' not valid to terminate execution with /netcf End Sub End Module
A vinculação tardia, em todas as formas, está desativada. Erros em tempo de compilação são gerados quando cenários de vinculação tardia reconhecidos são encontrados. O programa a seguir compila e é executado sem,
-netcf
mas falha em tempo de compilação com-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
Os modificadores Auto, Ansi e Unicode estão desativados. A sintaxe da instrução Declare também é modificada para
Declare Sub|Function name Lib "library" [Alias "alias"] [([arglist])]
. O código a seguir mostra o efeito de-netcf
em uma compilação.' 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
Usando palavras-chave do Visual Basic 6.0 que foram removidas do Visual Basic gera um erro diferente quando
-netcf
é usado. Isso afeta as mensagens de erro para as seguintes palavras-chave:Open
Close
Put
Print
Write
Input
Lock
Unlock
Seek
Width
Name
FreeFile
EOF
Loc
LOF
Line
Exemplo
O código a seguir é compilado Myfile.vb
com o .NET Compact Framework, usando as versões do mscorlib.dll e Microsoft.VisualBasic.dll encontradas no diretório de instalação padrão do .NET Compact Framework na unidade C. Normalmente, você usaria a versão mais recente do .NET Compact Framework.
vbc -netcf -sdkpath:"c:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE " myfile.vb