Dela via


-netcf

Anger att kompilatorn ska rikta in sig på .NET Compact Framework.

Syntax

-netcf

Kommentarer

Alternativet -netcf gör att Visual Basic-kompilatorn riktar in sig på .NET Compact Framework i stället för det fullständiga .NET Framework. Språkfunktioner som endast finns i det fullständiga .NET Framework är inaktiverade.

Alternativet -netcf är utformat för att användas med -sdkpath. Språkfunktionerna som inaktiveras av -netcf är samma språkfunktioner som inte finns i de filer som är mål för -sdkpath.

Kommentar

Alternativet -netcf är inte tillgängligt från Visual Studio-utvecklingsmiljön. Det är endast tillgängligt när du kompilerar från kommandoraden. Alternativet -netcf anges när ett Visual Basic-enhetsprojekt läses in.

Alternativet -netcf ändrar följande språkfunktioner:

  • Nyckelordet Slutnyckelordsinstruktor<>, som avslutar körningen av ett program, är inaktiverat. Följande program kompilerar och körs utan -netcf men misslyckas vid kompileringstiden med -netcf.

    Module Module1
        Sub Main()
            End   ' not valid to terminate execution with /netcf
        End Sub
    End Module
    
  • Sen bindning är inaktiverad i alla former. Kompileringsfel genereras när identifierade scenarier för sen bindning påträffas. Följande program kompilerar och körs utan -netcf men misslyckas vid kompileringstiden med -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
    
  • Modifierare för Auto, Ansi och Unicode är inaktiverade. Syntaxen för deklarera-instruktionen ändras också till Declare Sub|Function name Lib "library" [Alias "alias"] [([arglist])]. Följande kod visar effekten av -netcf på en kompilering.

    ' 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
    
  • Om du använder Nyckelord för Visual Basic 6.0 som har tagits bort från Visual Basic genereras ett annat fel när -netcf det används. Detta påverkar felmeddelandena för följande nyckelord:

    • Open

    • Close

    • Put

    • Print

    • Write

    • Input

    • Lock

    • Unlock

    • Seek

    • Width

    • Name

    • FreeFile

    • EOF

    • Loc

    • LOF

    • Line

Exempel

Följande kod kompileras Myfile.vb med .NET Compact Framework med hjälp av versionerna av mscorlib.dll och Microsoft.VisualBasic.dll som finns i standardinstallationskatalogen för .NET Compact Framework på C-enheten. Vanligtvis använder du den senaste versionen av .NET Compact Framework.

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

Se även