Sdílet prostřednictvím


-netcf

Nastaví kompilátor tak, aby cílil na rozhraní .NET Compact Framework.

Syntaxe

-netcf

Poznámky

Tato -netcf možnost způsobí, že kompilátor jazyka Visual Basic bude cílit na .NET Compact Framework, nikoli na úplné rozhraní .NET Framework. Funkce jazyka, která se nachází pouze v plném rozhraní .NET Framework, je zakázaná.

Tato -netcf možnost je navržená tak, aby se používala s parametrem -sdkpath. Jazykové funkce zakázané -netcf jsou stejné jazykové funkce, které nejsou v souborech cílených -sdkpath.

Poznámka:

Tato -netcf možnost není k dispozici ve vývojovém prostředí sady Visual Studio. Tato možnost je k dispozici pouze při kompilaci z příkazového řádku. Tato -netcf možnost je nastavena při načtení projektu zařízení jazyka Visual Basic.

Možnost -netcf změní následující jazykové funkce:

  • Klíčové slovo End <keyword Statement klíčové slovo>, které ukončí provádění programu, je zakázáno. Následující program se zkompiluje a spouští bez -netcf kompilace v době kompilace s -netcf.

    Module Module1
        Sub Main()
            End   ' not valid to terminate execution with /netcf
        End Sub
    End Module
    
  • Pozdní vazba je ve všech formulářích zakázaná. Chyby v době kompilace se generují, když jsou zjištěny rozpoznané scénáře s pozdní vazbou. Následující program se zkompiluje a spouští bez -netcf kompilace v době kompilace s -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
    
  • Modifikátory Auto, Ansi a Unicode jsou zakázány. Syntaxe příkazu Declare je také změněna na Declare Sub|Function name Lib "library" [Alias "alias"] [([arglist])]. Následující kód ukazuje účinek -netcf na kompilaci.

    ' 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
    
  • Použití klíčových slov jazyka Visual Basic 6.0, která byla odebrána z jazyka Visual Basic, generuje při použití jinou chybu -netcf . To má vliv na chybové zprávy pro následující klíčová slova:

    • Open

    • Close

    • Put

    • Print

    • Write

    • Input

    • Lock

    • Unlock

    • Seek

    • Width

    • Name

    • FreeFile

    • EOF

    • Loc

    • LOF

    • Line

Příklad

Následující kód se zkompiluje Myfile.vb s rozhraním .NET Compact Framework pomocí verzí mscorlib.dll a Microsoft.VisualBasic.dll nalezených ve výchozím instalačním adresáři rozhraní .NET Compact Framework na jednotce C. Obvykle byste použili nejnovější verzi rozhraní .NET Compact Framework.

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

Viz také