-netcf
Задает для компилятора нацеливание на .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 <ключевое слово ключевое слово>, который завершает выполнение программы, отключен. Следующая программа будет успешно скомпилирована и выполнена без
-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
Использование ключевых слов 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 по умолчанию на диске C. Как правило, следует использовать самую последнюю версию .NET Compact Framework.
vbc -netcf -sdkpath:"c:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE " myfile.vb
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по