다음을 통해 공유


웹 사이트 지원 특성

Visual Studio 웹 사이트 프로젝트를 확장하여 웹 프로그래밍 언어에 대한 지원을 제공할 수 있습니다. 언어가 선택될 때 프로젝트 템플릿이 새 웹 사이트 대화 상자에 표시될 수 있도록 해당 언어가 Visual Studio에 등록되어야 합니다.

IronPython Studio 샘플에는 웹 사이트 지원이 포함됩니다. 이 샘플에는 IronPython을 새 웹 프로젝트의 코드 숨김 언어로 등록하기 위한 다음 특성 클래스가 포함되어 있습니다.

WebSiteProjectAttribute

이 특성은 언어 프로젝트에 배치됩니다. 새 웹 사이트 대화 상자의 언어 목록에 있는 웹 프로그래밍 언어 목록에 언어를 추가합니다. 예를 들어, 다음 코드는 IronPython을 목록에 추가합니다.

[WebSiteProject("IronPython", "Iron Python")]
public class PythonProjectPackage : ProjectPackage

또한 이 특성은 템플릿 폴더를 가리키도록 템플릿 경로를 설정합니다. 템플릿 폴더의 위치에 대한 자세한 내용은 웹 사이트 지원 템플릿을 참조하세요.

WebSiteProjectRelatedFilesAttribute

이 특성은 언어 프로젝트에 배치됩니다. 이를 통해 웹 사이트 프로젝트는 솔루션 탐색기에서 다른 파일 형식(기본) 아래에 하나의 파일 형식(관련)을 중첩할 수 있습니다.

예를 들어, 다음 코드는 IronPython 코드 숨김 파일이 .aspx 파일과 관련되어 있음을 지정합니다. IronPython 웹 사이트 솔루션에서 새 .aspx 웹 페이지를 만들면 새 .py 원본 파일이 생성되고 .aspx 페이지의 자식 노드로 표시됩니다.

[WebSiteProjectRelatedFiles("aspx", "py")]
public class PythonProjectPackage : ProjectPackage

ProvideIntellisenseProviderAttribute

이 특성은 언어 프로젝트 패키지에 배치됩니다. 언어에 대한 IntelliSense 공급자를 선택합니다.

예를 들어, 다음 코드는 IVsIntellisenseProject를 구현하는 PythonIntellisenseProvider의 인스턴스가 언어 서비스를 제공하기 위해 요청 시 생성되어야 함을 지정합니다.

[ProvideIntellisenseProvider(typeof(PythonIntellisenseProvider), "IronPythonCodeProvider", "Iron Python", ".py", "IronPython;Python", "IronPython")]
public class PythonPackage : Package, IOleComponent

IVsIntellisenseProject 구현은 코드가 있는 웹 페이지가 요청되었지만 캐시되지 않은 경우 참조를 처리하고 언어 컴파일러를 호출합니다.

참고 항목