Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Задает компилятору целевой платформы .NET Compact Framework.
Синтаксис
-netcf
Замечания
Этот -netcf параметр приводит к тому, что компилятор Visual Basic предназначен для .NET Compact Framework, а не для полной платформы .NET Framework. Функции языка, которые присутствуют только в полной платформе .NET Framework, отключены.
Этот -netcf параметр предназначен для использования с -sdkpath. Функции языка, отключенные -netcf теми же функциями языка, которые не присутствуют в файлах, предназначенных для -sdkpath.
Замечание
Этот -netcf параметр недоступен в среде разработки Visual Studio. Он доступен только при компиляции из командной строки. Этот -netcf параметр устанавливается при загрузке проекта устройства Visual Basic.
Параметр -netcf изменяет следующие языковые возможности:
Ключевое слово> end <keyword, которое завершает выполнение программы, отключено. Следующая программа компилирует и выполняется без
-netcfсбоя во время компиляции.-netcfModule Module1 Sub Main() End ' not valid to terminate execution with /netcf End Sub End ModuleПоследняя привязка во всех формах отключена. Ошибки во время компиляции создаются при обнаружении сценариев последней привязки. Следующая программа компилирует и выполняется без
-netcfсбоя во время компиляции.-netcfClass 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Модификаторы Авто, Ansi и Юникод отключены. Синтаксис инструкции 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 6.0, которые были удалены из Visual Basic, возникает другая ошибка при
-netcfиспользовании. Это влияет на сообщения об ошибках для следующих ключевых слов:OpenClosePutPrintWriteInputLockUnlockSeekWidthNameFreeFileEOFLocLOFLine
Пример
Следующий код компилируется Myfile.vb с помощью .NET Compact Framework, используя версии mscorlib.dll и Microsoft.VisualBasic.dll, найденные в каталоге установки .NET Compact Framework на диске C. Как правило, используется последняя версия .NET Compact Framework.
vbc -netcf -sdkpath:"c:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE " myfile.vb