방법: SharePoint 명령 실행
SharePoint 도구 확장에서 서버 개체 모델을 사용하려면 API를 호출하는 사용자 지정 SharePoint 명령을 만들어야 합니다.명령을 정의하고 SharePoint 도구 확장을 사용하여 배포하면 확장에서 해당 명령을 실행하여 SharePoint 서버 개체 모델을 호출할 수 있습니다.명령을 실행하려면 ISharePointConnection 개체의 ExecuteCommand 메서드 중 하나를 사용합니다.
SharePoint 명령의 용도에 대한 자세한 내용은 SharePoint 개체 모델 호출을 참조하십시오.
SharePoint 명령을 실행하려면
SharePoint 도구 확장에서 ISharePointConnection을 가져옵니다.ISharePointConnection 개체를 가져오는 방법은 만들려는 확장 형식에 따라 달라집니다.
SharePoint 프로젝트 시스템 확장에서는 ISharePointProject.SharePointConnection 속성을 사용합니다.
프로젝트 시스템 확장에 대한 자세한 내용은 SharePoint 프로젝트 시스템 확장을 참조하십시오.
서버 탐색기의 SharePoint 연결 노드 확장에서는 IExplorerNodeContext.SharePointConnection 속성을 사용합니다.IExplorerNodeContext 개체를 가져오려면 IExplorerNode.Context 속성을 사용합니다.
서버 탐색기 확장에 대한 자세한 내용은 서버 탐색기에서 SharePoint 연결 노드 확장을 참조하십시오.
프로젝트 템플릿 마법사 등의 SharePoint 도구 확장에 포함되지 않는 코드에서는 ISharePointProjectService.SharePointConnection 속성을 사용합니다.
프로젝트 서비스 검색에 대한 자세한 내용은 SharePoint 프로젝트 서비스 사용을 참조하십시오.
ISharePointConnection 개체의 ExecuteCommand 메서드 중 하나를 호출합니다.실행할 명령 이름을 ExecuteCommand 메서드의 첫 번째 인수에 전달합니다.명령에 사용자 지정 매개 변수가 있으면 해당 매개 변수를 ExecuteCommand 메서드의 두 번째 인수에 전달합니다.
지원되는 각 명령 시그니처마다 다른 ExecuteCommand 오버로드가 있습니다.다음 표에서는 지원되는 서명과 각 서명에 사용할 오버로드를 보여 줍니다.
명령 시그니처
사용할 ExecuteCommand 오버로드
명령에 기본 ISharePointCommandContext 매개 변수만 있고 반환 값이 없습니다.
명령에 기본 ISharePointCommandContext 매개 변수와 반환 값이 있습니다.
명령에 두 개의 매개 변수(기본 ISharePointCommandContext 매개 변수 및 사용자 지정 매개 변수)가 있고 반환 값이 없습니다.
명령에 두 개의 매개 변수와 반환 값이 있습니다.
예제
다음 코드 예제에서는 ExecuteCommand<T>(String, T) 오버로드를 사용하여 방법: SharePoint 명령 만들기에서 설명된 Contoso.Commands.UpgradeSolution 명령을 호출하는 방법을 보여 줍니다.
Private Sub Execute(ByVal context As IDeploymentContext) _
Implements IDeploymentStep.Execute
context.Logger.WriteLine("Upgrading solution: " & solutionName, LogCategory.Status)
context.Project.SharePointConnection.ExecuteCommand("Contoso.Commands.UpgradeSolution", _
solutionFullPath)
End Sub
public void Execute(IDeploymentContext context)
{
context.Logger.WriteLine("Upgrading solution: " + solutionName, LogCategory.Status);
context.Project.SharePointConnection.ExecuteCommand("Contoso.Commands.UpgradeSolution",
solutionFullPath);
}
이 예제에 나와 있는Execute 메서드는 IDeploymentStep 인터페이스의 Execute 메서드를 사용자 지정 배포 단계에서 구현한 것입니다.보다 큰 예제의 컨텍스트에서 이 코드를 보려면 연습: SharePoint 프로젝트용 사용자 지정 배포 단계 만들기를 참조하십시오.
ExecuteCommand<T>(String, T) 메서드 호출에 대해 다음 세부 정보를 확인합니다.
첫 번째 매개 변수는 호출할 명령을 식별합니다.이 문자열은 명령 정의의 SharePointCommandAttribute에 전달하는 값과 일치합니다.
두 번째 매개 변수는 명령의 두 번째 사용자 지정 매개 변수에 전달할 값입니다.이 예제에서 두 번째 매개 변수는 SharePoint 사이트로 업그레이드될 .wsp 파일의 전체 경로입니다.
암시적 ISharePointCommandContext 매개 변수는 코드를 통해 명령에 전달되지 않습니다.이 매개 변수는 SharePoint 프로젝트 시스템의 확장이나 서버 탐색기의 SharePoint 연결 노드 확장에서 명령을 호출할 때 자동으로 명령에 전달됩니다.Microsoft.VisualStudio.TemplateWizard.IWizard 인터페이스를 구현하는 프로젝트 템플릿 마법사 등의 기타 솔루션 형식에서는 이 매개 변수가 null입니다.
코드 컴파일
이 예제에서는 Microsoft.VisualStudio.SharePoint 어셈블리에 대한 참조가 필요합니다.