다음을 통해 공유


-netcf

.NET Compact Framework를 대상으로 하는 컴파일러를 설정합니다.

문법

-netcf

비고

-netcf 옵션을 사용하면 Visual Basic 컴파일러가 전체 .NET Framework가 아닌 .NET Compact Framework를 대상으로 합니다. 전체 .NET Framework에만 있는 언어 기능은 사용할 수 없습니다.

-netcf 옵션은 -sdkpath와 함께 사용하도록 설계되었습니다. 사용하지 않도록 설정된 -netcf 언어 기능은 대상 파일에 없는 동일한 언어 기능입니다 -sdkpath.

비고

Visual Studio 개발 환경 내에서는 이 -netcf 옵션을 사용할 수 없습니다. 이 옵션은 명령줄에서 컴파일할 때만 사용할 수 있습니다. Visual -netcf Basic 디바이스 프로젝트가 로드될 때 옵션이 설정됩니다.

-netcf 옵션은 다음 언어 기능을 변경합니다.

  • 프로그램 실행을 종료하는 End <키워드> 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
    
  • 자동, 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에서 제거된 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

참고하십시오