SharePoint 솔루션 개발

Visual Studio에서는 여러 개의 SharePoint 프로젝트 형식 템플릿을 사용하여 SharePoint 사이트 및 사이트 요소를 만들 수 있습니다. 사용할 수 있는 프로젝트 형식 목록은 SharePoint 프로젝트 및 프로젝트 항목 템플릿을 참조하십시오. SharePoint 프로젝트의 요소 및 속성에 대한 설명은 다음과 같습니다.

SharePoint 프로젝트의 요소

SharePoint 프로젝트 아래의 노드를 SharePoint 항목이라고 합니다. SharePoint 항목에는 SharePoint 항목 파일이라는 XML 구성 파일, .aspx 폼 등의 하위 파일이 하나 이상 포함될 수도 있습니다.

프로젝트 항목 파일로 이미 채워져 있는 프로젝트 템플릿을 사용하여 프로젝트를 만드는 대신, 빈 프로젝트 템플릿을 사용하여 빈 SharePoint 프로젝트를 만든 다음 수동으로 프로젝트 항목을 추가할 수 있습니다. SharePoint 프로젝트에는 SharePoint에서 활성화할 하나 이상의 기능 파일과 프로젝트를 배포할 패키지 파일이 선택적으로 포함될 수도 있습니다.

특수 노드

모든 SharePoint 프로젝트에는 이름을 바꾸거나, 삭제하거나, 잘라내거나, 복사하거나, 프로젝트에서 끌어 놓을 수 없는 두 개의 노드가 있습니다. 이러한 노드는 다음과 같습니다.

  • 기능

  • 패키지

프로젝트에 대해 기능이나 패키지가 정의되어 있지 않아도 두 노드는 항상 모든 SharePoint 프로젝트에 표시됩니다.

기능 노드

기능 노드에는 SharePoint 프로젝트 기능이 하나 이상 들어 있습니다. 기능은 SharePoint용 확장의 컨테이너입니다. 기능을 SharePoint 서버에 배포하면 사이트 정의에 포함하거나 SharePoint 사이트에서 SharePoint 관리자가 개별적으로 활성화할 수 있습니다. 자세한 내용은 Working with Features를 참조하십시오.

콘텐츠 형식이나 목록 인스턴스와 같은 항목을 SharePoint 프로젝트에 추가하면 기능 노드의 기능에 추가됩니다. 항목의 범위에 따라 새 기능에 추가할지 또는 기존 기능에 추가할지가 결정됩니다. 새 항목에 기존 기능과 동일한 범위가 있는 경우 해당 기능에 추가됩니다. 그렇지 않으면 항목이 새 기능에 추가됩니다.

수동으로 기능을 추가하려면 기능 노드의 바로 가기 메뉴에서 기능 추가 명령을 실행합니다. 기능 디자이너를 사용하여 기능의 내용을 보거나 변경할 수 있습니다. 자세한 내용은 방법: SharePoint 기능 사용자 지정를 참조하십시오.

SharePoint 프로젝트에 기능을 추가하면 솔루션 탐색기에 기본 이름이 Featurex.feature인 노드로 표시됩니다. 여기서 x는 고유 번호입니다. 기능을 SharePoint Server에 배포하면 SharePoint 관리자가 활성화하여 SharePoint 사이트 사용자가 사용할 수 있도록 만들 수 있습니다.

패키지 노드

패키지 노드에는 SharePoint 프로젝트의 배포 메커니즘으로 사용되는 하나의 파일이 들어 있습니다. 이 파일을 솔루션 패키지라고 하며, .WSP 확장명을 사용하는 .CAB 기반 파일입니다. 솔루션 패키지는 SharePoint 사이트에 적용되며 개별적으로 사용하거나 사용하지 않도록 설정할 수 있는 기능, 사이트 정의 및 어셈블리 집합이 포함된 배포 및 재사용 가능한 파일입니다. 또한 패키지 노드에는 패키지의 XML 정의 파일인 Package.wspdef라는 파일이 항상 들어 있습니다. 패키지를 SharePoint 서버에 배포하면 SharePoint 관리자가 설치하여 해당 기능을 활성화할 수 있습니다.

패키지 노드를 두 번 클릭하면 패키지 디자이너에서 해당 패키지가 열립니다. 그런 다음 패키지 내용을 보거나 변경할 수 있습니다. 자세한 내용은 SharePoint 솔루션 패키지 만들기를 참조하십시오.

SharePoint 프로젝트 및 프로젝트 항목 속성

SharePoint 프로젝트는 다른 Visual Studio 프로젝트와 마찬가지로 속성 창과 속성 페이지에 속성을 표시합니다. 선택한 노드에 따라 각각 다른 속성이 표시됩니다.

솔루션 탐색기에서 SharePoint 프로젝트, 프로젝트 항목 또는 프로젝트 항목 파일 노드를 선택하면 속성 페이지의 속성 창에 다음 속성이 표시됩니다.

프로젝트 속성

속성 이름

설명

활성 배포 구성

배포 과정에서 수행할 일련의 단계를 지정합니다. 자세한 내용은 방법: SharePoint 배포 구성 편집을 참조하십시오.

어셈블리 배포 대상

SharePoint 응용 프로그램 어셈블리가 있는 위치를 결정합니다. 유효한 어셈블리 위치 값은 GlobalAssemblyCache(기본값) 또는 WebApplication입니다.

Sandboxed Solution 속성을 true로 설정하면 이 속성을 사용할 수 없습니다.

디버깅 후 자동 제거

Visual Studio에서 디버그 모드로 응용 프로그램을 실행한 후 배포된 솔루션이 SharePoint에서 자동으로 제거되는지 여부를 지정합니다. 이를 선택한 경우 디버깅 이후 IDE가 디자인 뷰로 돌아가면 솔루션이 제거됩니다. 선택을 취소하면 솔루션이 제거되지 않습니다. 자세한 내용은 Uninstalling and Retracting a Farm Solution을 참조하십시오.

구성 편집

프로젝트에 사용할 배포 구성을 지정합니다. 자세한 내용은 방법: SharePoint 배포 구성 편집SharePoint 솔루션 패키지 배포를 참조하십시오.

Silverlight 디버깅을 사용하도록 설정(Script 디버깅을 대신함)

이를 선택하면 Silverlight 디버거가 디버깅 프로세스에 연결됩니다. 선택 취소하면 스크립트 디버거가 디버깅 프로세스에 연결됩니다. 자세한 내용은 Silverlight Debugging Overview를 참조하십시오.

패키지에 어셈블리 포함

빌드 시 프로젝트 어셈블리를 패키지에 포함할지 여부를 지정합니다.

배포 후 명령줄

SharePoint 솔루션 배포 후 실행할 명령을 지정합니다. 이 명령줄은 MSBuild 변수 확인 외에 모든 배치 명령을 지원합니다. 자세한 내용은 방법: SharePoint 배포 명령 설정을 참조하십시오.

배포 전 명령줄

SharePoint 솔루션 배포 전에 실행할 명령을 지정합니다. 이 명령줄은 MSBuild 변수 확인 외에 모든 배치 명령을 지원합니다. 자세한 내용은 방법: SharePoint 배포 명령 설정을 참조하십시오.

프로젝트 파일

빌드, 구성 및 프로젝트에 대한 기타 정보가 포함된 파일 이름입니다.

프로젝트 폴더

시스템에 있는 프로젝트 파일의 위치입니다. 읽기 전용입니다.

샌드박스가 적용된 솔루션

프로젝트를 샌드박스가 적용된 솔루션으로 배포할지 여부를 지정합니다. 이 솔루션을 사용자 작성 솔루션이라고도 합니다. 샌드박스가 적용된 솔루션은 신뢰할 수 있어야 하는 것은 아닙니다. 값이 true이면 프로젝트가 샌드박스가 적용된 솔루션으로 배포되고, 값이 false이면 프로젝트가 팜 솔루션으로 배포됩니다. 자세한 내용은 샌드박스가 적용된 솔루션 고려 사항샌드박스 솔루션과 팜 솔루션의 차이점을 참조하십시오.

사이트 URL

이 프로젝트에 대한 대상 사이트의 URL을 지정합니다.

시작 항목

프로젝트에서 실행할 첫째 항목을 지정합니다.

기능 노드의 기능이나 워크플로와 같은 SharePoint 항목 파일을 선택하면 속성 창에 다음 속성이 표시됩니다.

프로젝트 항목 속성

속성 이름

설명

배포 충돌 해결

배포하려는 프로젝트 항목의 속성이 서버에 이미 있는 항목의 속성과 동일한 경우 어떤 조치를 취할지 지정합니다. 자세한 내용은 SharePoint 패키징 및 배포 문제 해결을 참조하십시오.

기능 속성

SharePoint에 기능을 배포할 때 해당 기능에 포함되는 값의 집합을 지정합니다. 이는 키/값의 쌍으로 저장됩니다. 기능을 배포한 후 코드에서 속성 값에 액세스할 수 있습니다. 자세한 내용은 프로젝트 항목에 패키징 및 배포 정보 제공을 참조하십시오.

기능 수신기

프로젝트 항목에 포함된 기능에 특정 이벤트가 발생한 경우 실행되는 코드를 제공합니다. 자세한 내용은 프로젝트 항목에 패키징 및 배포 정보 제공을 참조하십시오.

폴더 이름

SharePoint 프로젝트 항목 폴더의 이름입니다.

프로젝트 출력 참조

프로젝트 항목에서 실행해야 할 어셈블리 등과 같은 종속 관계를 지정합니다. 자세한 내용은 프로젝트 항목에 패키징 및 배포 정보 제공을 참조하십시오.

안전 컨트롤 항목

신뢰할 수 없는 사용자가 편집해도 문제가 없는 컨트롤을 지정합니다. 자세한 내용은 프로젝트 항목에 패키징 및 배포 정보 제공을 참조하십시오.

프로젝트 항목 파일 속성

속성 이름

설명

빌드 작업

빌드 및 배포 프로세스와 파일의 관계를 지정합니다. 자세한 내용은 파일 속성을 참조하십시오.

출력 디렉터리로 복사

소스 파일을 출력 디렉터리로 복사할지 여부를 지정합니다. 다음 값 중 하나일 수 있습니다.

  • Do not copy

  • Copy always

  • Copy if newer

자세한 내용은 파일 속성을 참조하십시오.

사용자 지정 도구

디자인 타임에 파일을 변환하고 변환 결과를 다른 파일에 저장하는 도구의 이름을 지정합니다(있는 경우). 예를 들어 데이터 집합 파일(.XSD)에는 기본 사용자 지정 도구가 있습니다. 자세한 내용은 파일 속성을 참조하십시오.

사용자 지정 도구 네임스페이스

사용자 지정 도구의 출력이 복사되는 네임스페이스입니다. 자세한 내용은 파일 속성을 참조하십시오.

배포 위치

SharePoint 서버에 있는 파일의 정규화된 경로입니다. 이 경로는 배포 루트 및 배포 경로 하위 속성으로 구성됩니다.

배포 경로

SharePoint Server 파일의 상대 경로입니다(예: Workflow1\). 정규화된 파일 경로는 Deployment Path 값을 Deployment Root 값의 끝에 연결하여 만듭니다.

Deployment Type 속성에 대해 RootFile 값을 선택하면 Deployment Root 속성이 {SharePointRoot}\로 변경되어 정규화된 경로 {SharePointRoot}\Workflow1\이 됩니다. 자세한 내용은 SharePoint 솔루션 패키징 및 배포를 참조하십시오.

배포 루트

문자열. SharePoint Server에서 파일이 배포되는 루트 폴더입니다(예: {SharePointRoot}\Template\Features\{FeatureName}\).

Deployment Root 속성의 값은 Deployment Type 설정에 의해 결정됩니다.

배포 형식

Deployment Root 값을 결정하는 파일의 배포 형식입니다. 다음 값 중 하나일 수 있습니다.

열거형 값 Deployment Root 값
NoDeployment<값 없음>
ElementManifest{SharePointRoot}\Template\Features\{FeatureName}\
ElementFile{SharePointRoot}\Template\Features\{FeatureName}\
TemplateFile{SharePointRoot}\Template\
RootFile{SharePointRoot}\
GlobalResource{SharePointRoot}\Resources\
ClassResource{ClassResourcePath}\

자세한 내용은 DeploymentType을 참조하십시오.

파일 이름

항목 파일의 파일 또는 폴더 이름입니다.

전체 경로

항목 파일의 위치입니다. 읽기 전용입니다.

관련 항목

제목

설명

SharePoint 프로젝트 및 프로젝트 항목 템플릿

Visual Studio에서 사용할 수 있는 SharePoint 프로젝트 및 프로젝트 항목 템플릿에 대해 설명합니다.

방법: SharePoint 프로젝트에 항목 추가

Visual Studio SharePoint 프로젝트에 새 항목이나 기존 항목을 추가하는 방법을 설명합니다.

연습: 사용자 지정 필드, 콘텐츠 형식, 목록 정의 및 목록 인스턴스 만들기

고객 필드, 콘텐츠 형식, 목록 정의 및 목록 인스턴스를 만드는 과정을 단계별로 안내합니다.

방법: 이벤트 수신자 만들기

연습: 사용자 지정 필드, 콘텐츠 형식, 목록 정의 및 목록 인스턴스 만들기에서 만든 프로젝트에 이벤트 수신자를 추가하는 방법에 대해 설명합니다.

SharePoint 워크플로 솔루션 만들기

워크플로 연결 폼과 워크플로 초기화 폼이 포함된 워크플로 프로젝트를 만드는 방법에 대해 설명합니다.

SharePoint에 대한 페이지 만들기

SharePoint의 응용 프로그램 페이지, 사이트 페이지, 마스터 페이지 및 페이지 레이아웃 등을 만드는 방법에 대해 설명합니다.

SharePoint를 위한 웹 파트 만들기

사용자가 SharePoint 사이트 페이지의 콘텐츠, 모양 및 동작을 브라우저에서 직접 수정할 수 있게 하는 컨트롤을 추가하는 방법에 대해 설명합니다.

웹 파트 또는 응용 프로그램 페이지를 위해 재사용 가능한 컨트롤 만들기

SharePoint에서 실행되는 응용 프로그램 페이지와 웹 파트에서 사용할 수 있는 사용자 정의 컨트롤을 만드는 방법에 대해 설명합니다.

SharePoint에 비즈니스 데이터 통합

웹 서비스 및 백 엔드 서버 응용 프로그램의 데이터를 SharePoint 응용 프로그램에 통합하는 방법에 대해 설명합니다.

SharePoint에 대한 사이트 정의 만들기

SharePoint 사이트를 만드는 데 사용되는 템플릿인 사이트 정의를 만드는 방법에 대해 설명합니다.

기존 SharePoint 사이트에서 항목 가져오기

기존 SharePoint 사이트에서 콘텐츠 형식, 모듈 등의 항목을 Visual Studio SharePoint 프로젝트로 가져오는 방법에 대해 설명합니다.

모듈을 사용하여 솔루션에 파일 포함

모듈을 사용하여 Visual Studio 프로젝트의 파일을 SharePoint 사이트에 배포하는 방법에 대해 설명합니다.

서버 탐색기를 사용하여 SharePoint 연결 찾아보기

서버 탐색기를 사용하여 로컬 SharePoint 사이트를 탐색하는 방법을 설명합니다.

프로젝트 항목에 패키징 및 배포 정보 제공

프로젝트 항목 속성을 사용하여 안전 컨트롤 항목, 프로젝트 출력 참조, 기능 속성 등 프로젝트에 대한 패키징 및 배포 정보를 제공하는 방법을 설명합니다.

방법: 매핑된 폴더 추가 및 제거

SharePoint 리소스에 보다 쉽게 액세스할 수 있도록 프로젝트에 매핑된 폴더를 추가하는 방법에 대해 설명합니다.

샌드박스가 적용된 솔루션 고려 사항

샌드박스가 적용된 솔루션과 연관된 문제에 대해 설명합니다.

SharePoint 솔루션 보안

Visual Studio에서 SharePoint 솔루션을 개발할 때 보안과 관련하여 고려해야 할 사항을 설명합니다.

URL 선택기 대화 상자(Visual Studio에서 SharePoint 개발)

로컬 SharePoint 서버 또는 프로젝트의 리소스에 대한 경로 참조를 추가하는 데 사용할 수 있는 대화 상자에 대해 설명합니다.

참고 항목

기타 리소스

시작(Visual Studio에서의 SharePoint 개발)

서버 탐색기를 사용하여 SharePoint 연결 찾아보기

SharePoint 솔루션 빌드 및 디버깅

SharePoint 솔루션 패키징 및 배포