Partager via


-netcf

Définit le compilateur pour cibler le .NET Compact Framework.

Syntaxe

-netcf

Remarques

L’option -netcf entraîne le compilateur Visual Basic à cibler le .NET Compact Framework plutôt que le .NET Framework complet. La fonctionnalité de langage présente uniquement dans le .NET Framework complet est désactivée.

L’option -netcf est conçue pour être utilisée avec -sdkpath. Les fonctionnalités linguistiques désactivées par -netcf sont les mêmes fonctionnalités linguistiques qui ne sont pas présentes dans les fichiers ciblés par -sdkpath.

Remarque

L’option -netcf n’est pas disponible à partir de l’environnement de développement Visual Studio ; elle est disponible uniquement lors de la compilation à partir de la ligne de commande. L’option -netcf est définie lorsqu’un projet d’appareil Visual Basic est chargé.

L’option -netcf modifie les fonctionnalités de langage suivantes :

  • Le mot clé End <keyword> Statement , qui met fin à l’exécution d’un programme, est désactivé. Le programme suivant compile et s’exécute sans -netcf échec au moment de la compilation avec -netcf.

    Module Module1
        Sub Main()
            End   ' not valid to terminate execution with /netcf
        End Sub
    End Module
    
  • La liaison tardive, dans tous les formulaires, est désactivée. Les erreurs au moment de la compilation sont générées lorsque des scénarios de liaison tardive reconnus sont rencontrés. Le programme suivant compile et s’exécute sans -netcf échec au moment de la compilation avec -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
    
  • Les modificateurs Auto, Ansi et Unicode sont désactivés. La syntaxe de l’instruction Declare est également modifiée en Declare Sub|Function name Lib "library" [Alias "alias"] [([arglist])]. Le code suivant montre l’effet d’une -netcf compilation.

    ' 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
    
  • L’utilisation de mots clés Visual Basic 6.0 supprimés de Visual Basic génère une erreur différente quand elle -netcf est utilisée. Cela affecte les messages d’erreur pour les mots clés suivants :

    • Open

    • Close

    • Put

    • Print

    • Write

    • Input

    • Lock

    • Unlock

    • Seek

    • Width

    • Name

    • FreeFile

    • EOF

    • Loc

    • LOF

    • Line

Exemple :

Le code suivant se compile avec .NET Compact Framework, à l’aide des versions de mscorlib.dll et Microsoft.VisualBasic.dll trouvées Myfile.vb dans le répertoire d’installation par défaut du .NET Compact Framework sur le lecteur C. En règle générale, vous utiliseriez la version la plus récente du .NET Compact Framework.

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

Voir aussi