-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

Consulte também