-netcf

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

Syntaxe

-netcf

Notes

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 de langage désactivées par -netcf sont les mêmes fonctionnalités de langage qui ne sont pas présentes dans les fichiers ciblés par -sdkpath.

Notes

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 lors du chargement d’un projet d’appareil Visual Basic.

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, mais échoue 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. Des erreurs sont générées au moment de la compilation lorsque des scénarios de liaison tardive reconnus sont rencontrés. Le programme suivant compile et s’exécute sans -netcf, mais échoue 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 du -netcf sur une 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 -netcf est utilisé. 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 compile Myfile.vb avec le .NET Compact Framework, en utilisant les versions de mscorlib.dll et Microsoft.VisualBasic.dll trouvées dans le répertoire d’installation par défaut du .NET Compact Framework sur le lecteur C. En règle générale, vous utilisez 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