/netcf
Обновлен: Ноябрь 2007
Задает компилятору целевой .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 (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
Модификаторы AutoAnsi и Юникод (Visual Basic) отключены. Синтаксис инструкции Оператор 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. Это приводит к сообщениям об ошибках при использовании следующих зарезервированных слов.
Open
Close
Put
Print
Write
Input
Lock
Unlock
Seek
Width
Name
FreeFile
EOF
Loc
LOF
Line
Пример
В следующем примере кода компиляция файла Myfile.vb с .NET Compact Framework выполняется с помощью библиотек mscorlib.dll и microsoft.visualbasic.dll, обнаруженных в стандартной папке установки .NET Compact Framework на диске С. Как правило следует использовать самую последнюю версию .NET Compact Framework.
vbc /netcf /sdkpath:"c:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE " myfile.vb
См. также
Ссылки
Примеры командных строк компиляции