/netcf
컴파일러 대상을 .NET Compact Framework로 설정합니다.
/netcf
설명
/netcf 옵션을 사용하면 Visual Basic 컴파일러의 대상이 전체 .NET Framework가 아니라 .NET Compact Framework가 됩니다. 이때 전체 .NET Framework에서만 제공되는 언어 기능은 사용할 수 없습니다.
/netcf 옵션은 /sdkpath와 함께 사용할 수 있습니다. /netcf를 지정할 때 사용할 수 없는 언어 기능은 /sdkpath의 대상 파일에서 제공되지 않는 언어 기능과 같습니다.
참고
/netcf 옵션은 Visual Studio 개발 환경에서는 사용할 수 없고 명령줄에서 컴파일하는 경우에만 사용할 수 있습니다./netcf 옵션은 Visual Basic 장치 프로젝트가 로드되는 경우 설정됩니다.
/netcf 옵션을 사용하면 다음과 같은 언어 기능이 변경됩니다.
프로그램 실행을 종료하는 End <keyword> 문(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) 한정자를 사용할 수 없습니다. 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