Bagikan melalui


-netcf

Mengatur kompilator untuk menargetkan .NET Compact Framework.

Sintaks

-netcf

Keterangan

Opsi -netcf ini menyebabkan kompilator Visual Basic menargetkan Kerangka kerja .NET Compact daripada .NET Framework lengkap. Fungsionalitas bahasa yang hanya ada di .NET Framework penuh dinonaktifkan.

Opsi -netcf ini dirancang untuk digunakan dengan -sdkpath. Fitur bahasa yang dinonaktifkan oleh -netcf adalah fitur bahasa yang sama yang tidak ada dalam file yang ditargetkan dengan -sdkpath.

Catatan

Opsi -netcf tidak tersedia dari dalam lingkungan pengembangan Visual Studio; ini hanya tersedia saat mengompilasi dari baris perintah. Opsi -netcf diatur saat proyek perangkat Visual Basic dimuat.

Opsi -netcf mengubah fitur bahasa berikut:

  • Kata kunci Akhir < kata kunci> Pernyataan, yang mengakhiri eksekusi program, dinonaktifkan. Program berikut mengompilasi dan berjalan tanpa -netcf tetapi gagal pada waktu kompilasi dengan -netcf.

    Module Module1
        Sub Main()
            End   ' not valid to terminate execution with /netcf
        End Sub
    End Module
    
  • Pengikatan terlambat, dalam semua formulir, dinonaktifkan. Kesalahan waktu kompilasi dihasilkan ketika skenario pengikatan terlambat yang dikenali ditemui. Program berikut mengompilasi dan berjalan tanpa -netcf tetapi gagal pada waktu kompilasi dengan -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
    
  • Pengubah Otomatis, Ansi, dan Unicode dinonaktifkan. Sintaks Deklarasikan Pernyataan juga dimodifikasi menjadi Declare Sub|Function name Lib "library" [Alias "alias"] [([arglist])]. Kode berikut menunjukkan efek -netcf pada kompilasi.

    ' 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
    
  • Menggunakan kata kunci Visual Basic 6.0 yang dihapus dari Visual Basic menghasilkan kesalahan yang berbeda saat -netcf digunakan. Hal ini memengaruhi pesan kesalahan untuk kata kunci berikut:

    • Open

    • Close

    • Put

    • Print

    • Write

    • Input

    • Lock

    • Unlock

    • Seek

    • Width

    • Name

    • FreeFile

    • EOF

    • Loc

    • LOF

    • Line

Contoh

Kode berikut mengompilasi Myfile.vb dengan .NET Compact Framework, menggunakan versi Mscorlib.dll dan Microsoft.VisualBasic.dll yang ditemukan di direktori penginstalan default .NET Compact Framework pada drive C. Biasanya, Anda akan menggunakan versi terbaru dari .NET Compact Framework.

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

Lihat juga