共用方式為


/netcf

更新:2007 年 11 月

針對 .NET Compact Framework 設定編譯器。

/netcf

備註

/netcf 選項會指示 Visual Basic 編譯器將目標放在 .NET Compact Framework 而非完整的 .NET Framework。僅在完整的 .NET Framework 中提供的語言功能停用。

/netcf 選項是設計與 /sdkpath 搭配使用。/netcf 停用的語言功能如同在 /sdkpath 指定的檔案中,未提供的語言功能一樣。

注意事項:

/netcf 選項無法在 Visual Studio 開發環境內使用;只有在命令列編譯時才能使用。載入 Visual Basic 裝置專案時,會設定 /netcf 選項。

/netcf 選項可變更下列語言功能:

  • 停用可終止程式執行的 End (Visual Basic) 關鍵字。下列程式可在不使用 /netcf 的情況下編譯和執行,但使用 /netcf 時,會在編譯時期失敗。

    Module Module1
        Sub Main()
            End   ' not valid to terminate execution with /netcf
        End Sub
    End Module
    
  • 所有形式的晚期繫結都會停用。當遭遇到辨識出的晚期繫結案例時,就會產生編譯時期錯誤。下列程式可在不使用 /netcf 的情況下編譯和執行,但使用 /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
    
  • 停用 AutoAnsiUnicode (Visual Basic) 修飾詞 (Modifier)。也會將 Declare 陳述式 陳述式的語法修改成 Declare Sub|Function name Lib "library" [Alias "alias"] [([arglist])]。下列的程式碼將顯示出使用 /netcf 編譯的效果。

    ' 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
    
  • 使用自 Visual Basic 移除的 Visual Basic 6.0 關鍵字時,會在使用 /netcf 時產生不同的錯誤。這會影響在下列關鍵字中所看到的錯誤訊息:

    • Open

    • Close

    • Put

    • Print

    • Write

    • Input

    • Lock

    • Unlock

    • Seek

    • Width

    • Name

    • FreeFile

    • EOF

    • Loc

    • LOF

    • Line

範例

下列的程式碼會使用 C 磁碟中 .NET Compact Framework 預設安裝目錄下的 Mscorlib.dll 和 Microsoft.VisualBasic.dll 版本,利用 .NET Compact Framework 來編譯 Myfile.vb。您通常可使用最新版的 .NET Compact Framework。

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

請參閱

參考

編譯命令列範例

/sdkpath

其他資源

Visual Basic 編譯器