-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