-netcf

Ustawia kompilator tak, aby był przeznaczony dla platformy .NET Compact Framework.

Składnia

-netcf

Uwagi

Opcja -netcf powoduje, że kompilator języka Visual Basic ma być przeznaczony dla programu .NET Compact Framework, a nie pełnego programu .NET Framework. Funkcje języka, które są obecne tylko w pełnym programie .NET Framework, są wyłączone.

Opcja została zaprojektowana -netcf do użycia z opcją -sdkpath. Funkcje językowe wyłączone przez -netcf program są tymi samymi funkcjami językowymi, które nie są obecne w plikach przeznaczonych dla -sdkpathprogramu .

Uwaga

Opcja -netcf nie jest dostępna w środowisku programistycznym programu Visual Studio; jest dostępna tylko podczas kompilowania z poziomu wiersza polecenia. Opcja -netcf jest ustawiana po załadowaniu projektu urządzenia Visual Basic.

Opcja -netcf zmienia następujące funkcje językowe:

  • Słowo kluczowe End<— instrukcja,> które kończy wykonywanie programu, jest wyłączone. Poniższy program kompiluje i uruchamia polecenie bez -netcf operacji , ale kończy się niepowodzeniem w czasie kompilacji za pomocą polecenia -netcf.

    Module Module1
        Sub Main()
            End   ' not valid to terminate execution with /netcf
        End Sub
    End Module
    
  • Opóźnione powiązanie we wszystkich formularzach jest wyłączone. Błędy czasu kompilacji są generowane po napotkaniu rozpoznanych scenariuszy opóźnionych powiązań. Poniższy program kompiluje i uruchamia polecenie bez -netcf operacji , ale kończy się niepowodzeniem w czasie kompilacji za pomocą polecenia -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
    
  • Modyfikatory Auto, Ansi i Unicode są wyłączone. Składnia instrukcji Declare jest również modyfikowana na Declare Sub|Function name Lib "library" [Alias "alias"] [([arglist])]. Poniższy kod przedstawia wpływ -netcf kompilacji.

    ' 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
    
  • Użycie słów kluczowych języka Visual Basic 6.0, które zostały usunięte z języka Visual Basic, powoduje wygenerowanie innego błędu w przypadku -netcf użycia. Ma to wpływ na komunikaty o błędach dla następujących słów kluczowych:

    • Open

    • Close

    • Put

    • Print

    • Write

    • Input

    • Lock

    • Unlock

    • Seek

    • Width

    • Name

    • FreeFile

    • EOF

    • Loc

    • LOF

    • Line

Przykład

Poniższy kod kompiluje Myfile.vb się z platformą .NET Compact Framework przy użyciu wersji mscorlib.dll i Microsoft.VisualBasic.dll znalezionych w domyślnym katalogu instalacyjnym programu .NET Compact Framework na dysku C. Zazwyczaj należy użyć najnowszej wersji programu .NET Compact Framework.

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

Zobacz też