-netcf

Beállítja a fordítót a .NET Compact Framework megcélzására.

Szemantika

-netcf

Megjegyzések

Ez -netcf a beállítás azt eredményezi, hogy a Visual Basic fordító a .NET Compact Frameworkt célozza meg a teljes .NET-keretrendszer helyett. A csak a teljes .NET-keretrendszerben található nyelvi funkciók le vannak tiltva.

A -netcf beállítás - sdkpath használatával használható. A letiltott -netcf nyelvi funkciók ugyanazok a nyelvi funkciók, amelyek nem szerepelnek a célként megadott -sdkpathfájlokban.

Megjegyzés:

Ez -netcf a lehetőség nem érhető el a Visual Studio fejlesztői környezetében, csak a parancssorból való fordításkor érhető el. A -netcf beállítás a Visual Basic eszközprojekt betöltésekor van beállítva.

A -netcf beállítás a következő nyelvi funkciókat módosítja:

  • A program végrehajtását leállítja a Záró <kulcsszó> utasítás kulcsszó le van tiltva. A következő program lefordítja és futtatja anélkül -netcf , de a fordítási időpontban meghiúsul a következővel -netcf: .

    Module Module1
        Sub Main()
            End   ' not valid to terminate execution with /netcf
        End Sub
    End Module
    
  • A késői kötés minden formában le van tiltva. Fordítási idő hibái akkor jönnek létre, ha felismert késői kötési forgatókönyvek lépnek fel. A következő program lefordítja és futtatja anélkül -netcf , de a fordítási időpontban meghiúsul a következővel -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
    
  • Az Automatikus, az Ansi és a Unicode-módosítók le vannak tiltva. A Deklarált utasítás szintaxisa is módosul.Declare Sub|Function name Lib "library" [Alias "alias"] [([arglist])] Az alábbi kód a fordításra gyakorolt hatást -netcf mutatja be.

    ' 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
    
  • Ha a Visual Basicből eltávolított Visual Basic 6.0-s kulcsszavakat használ, az a használat során -netcf más hibát okoz. Ez a következő kulcsszavak hibaüzeneteire van hatással:

    • Open

    • Close

    • Put

    • Print

    • Write

    • Input

    • Lock

    • Unlock

    • Seek

    • Width

    • Name

    • FreeFile

    • EOF

    • Loc

    • LOF

    • Line

példa

Az alábbi kód a .NET Compact Framework használatával fordítja le Myfile.vb a C meghajtón található .NET Compact Framework alapértelmezett telepítési könyvtárában található mscorlib.dll és Microsoft.VisualBasic.dll verzióit. Általában a .NET Compact Framework legújabb verzióját használná.

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

Lásd még