/netcf
針對 .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
停用 Auto (Visual Basic)、Ansi (Visual Basic) 和 Unicode (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