-netcf

Establece que el compilador tenga como destino el entorno .NET Compact Framework.

Sintaxis

-netcf

Comentarios

La opción -netcf hace que el compilador de Visual Basic tenga como destino el entorno .NET Compact Framework en lugar del .NET Framework completo. Se deshabilita la funcionalidad de lenguaje que solo está presente en el componente .NET Framework completo.

La opción -netcf está diseñada para usarse con -sdkpath. Las características de lenguaje deshabilitadas por -netcf son las mismas características de lenguaje que no están presentes en los archivos de destino de -sdkpath.

Nota

La opción -netcf no está disponible en el entorno de desarrollo de Visual Studio; solo está disponible cuando se compila desde la línea de comandos. La opción -netcf se establece cuando se carga un proyecto de dispositivo de Visual Basic.

La opción -netcf cambia las características de lenguaje siguientes:

  • Se deshabilita la palabra clave End <keyword> Statement, que finaliza la ejecución de un programa. El siguiente programa se compila y ejecuta sin -netcf, pero produce un error en tiempo de compilación con -netcf.

    Module Module1
        Sub Main()
            End   ' not valid to terminate execution with /netcf
        End Sub
    End Module
    
  • Se deshabilita el enlace en tiempo de ejecución en todos los formularios. Se generan errores en tiempo de compilación cuando se encuentran escenarios de enlace en tiempo de ejecución reconocidos. El siguiente programa se compila y ejecuta sin -netcf, pero produce un error en tiempo de compilación con -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
    
  • Se deshabilitan los modificadores Auto, Ansi y Unicode. La sintaxis de la instrucción Declare también se modifica en Declare Sub|Function name Lib "library" [Alias "alias"] [([arglist])]. En el código siguiente se muestra el efecto de -netcf en una compilación.

    ' 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
    
  • El uso de palabras clave de Visual Basic 6.0 que se quitaron de Visual Basic genera un error diferente cuando se usa -netcf. Esto afecta a los mensajes de error de las palabras clave siguientes:

    • Open

    • Close

    • Put

    • Print

    • Write

    • Input

    • Lock

    • Unlock

    • Seek

    • Width

    • Name

    • FreeFile

    • EOF

    • Loc

    • LOF

    • Line

Ejemplo

El código siguiente compila Myfile.vb con .NET Compact Framework, mediante las versiones de mscorlib.dll y Microsoft.VisualBasic.dll que se encuentran en el directorio de instalación predeterminado de .NET Compact Framework en la unidad C. Normalmente, se usaría la versión más reciente de .NET Compact Framework.

vbc -netcf -sdkpath:"c:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE " myfile.vb

Vea también