-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 <keyword> Statement 关键字是禁用的,它会终止程序执行。 以下程序在没有
-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、Ansi 和Unicode 修饰符。 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
在使用
-netcf
时,使用从 Visual Basic 中删除的 Visual Basic 6.0 关键字会产生不同的错误。 这会影响以下关键字的错误消息: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