연습: 항목 템플릿을 사용하여 사용자 지정 작업 프로젝트 항목 만들기, 1부
고유한 프로젝트 항목 형식을 만들어 Visual Studio에서 SharePoint 프로젝트 시스템을 확장할 수 있습니다.이 연습에서는 SharePoint 사이트에 사용자 지정 작업을 만들기 위해 SharePoint 프로젝트에 추가할 수 있는 프로젝트 항목을 만듭니다.사용자 지정 작업은 SharePoint 사이트의 사이트 작업 메뉴에 메뉴 항목을 추가합니다.
이 연습에서는 다음 작업을 수행합니다.
사용자 지정 작업에 대한 새로운 형식의 SharePoint 프로젝트 항목을 정의하는 Visual Studio 확장 만들기.새 프로젝트 항목 형식은 몇 가지 사용자 지정 기능을 구현합니다.
Visual Studio에서 사용자 지정 작업용 디자이너 표시 등 프로젝트 항목과 관련된 추가 작업을 위한 시작점으로 사용되는 바로 가기 메뉴
개발자가 프로젝트 항목 및 프로젝트 항목을 포함하는 프로젝트의 특정 속성을 변경할 때 실행되는 코드
솔루션 탐색기에서 프로젝트 항목 옆에 표시되는 사용자 지정 아이콘
프로젝트 항목에 대한 Visual Studio 항목 템플릿 만들기
프로젝트 항목 템플릿과 확장 어셈블리를 배포하기 위한 VSIX(Visual Studio Extension) 패키지 빌드
프로젝트 항목 디버깅 및 테스트
이 연습은 독립적으로 실행할 수 있습니다.이 연습을 완료한 후에는 항목 템플릿에 마법사를 추가하여 프로젝트 항목을 개선할 수 있습니다.자세한 내용은 연습: 항목 템플릿을 사용하여 사용자 지정 작업 프로젝트 항목 만들기, 2부을 참조하십시오.
[!참고]
https://go.microsoft.com/fwlink/?LinkId=191369에서 이 연습에 대한 완료된 프로젝트, 코드 및 기타 파일이 포함된 샘플을 다운로드할 수 있습니다.
사전 요구 사항
이 연습을 완료하려면 개발 컴퓨터에 다음 구성 요소가 필요합니다.
지원되는 Microsoft Windows, SharePoint 및 Visual Studio 버전.자세한 내용은 SharePoint 솔루션 개발 요구 사항을 참조하십시오.
Visual Studio SDK이 연습에서는 SDK의 VSIX 프로젝트 템플릿을 사용하여 프로젝트 항목을 배포하기 위한 VSIX 패키지를 만듭니다.자세한 내용은 Visual Studio에서 SharePoint 도구 확장을 참조하십시오.
다음 개념을 알고 있으면 연습을 완료하는 데 도움이 되지만 반드시 필요하지는 않습니다.
SharePoint의 사용자 지정 작업.자세한 내용은 Custom Action을 참조하십시오.
Visual Studio의 항목 템플릿.자세한 내용은 Visual Studio 템플릿 소개을 참조하십시오.
프로젝트 만들기
이 연습을 완료하려면 세 프로젝트를 만들어야 합니다.
VSIX 프로젝트이 프로젝트는 SharePoint 프로젝트 항목을 배포하기 위한 VSIX 패키지를 만듭니다.
항목 템플릿 프로젝트.이 프로젝트는 SharePoint 프로젝트에 SharePoint 프로젝트 항목을 추가하는 데 사용할 수 있는 항목 템플릿을 만듭니다.
클래스 라이브러리 프로젝트.이 프로젝트는 SharePoint 프로젝트 항목의 동작을 정의하는 Visual Studio 확장을 구현합니다.
먼저 프로젝트를 만들어 연습을 시작합니다.
VSIX 프로젝트를 만들려면
Visual Studio를 시작합니다.
메뉴 모음에서 파일, 새로 만들기, 프로젝트를 선택합니다.
목록 상단에는 새 프로젝트 대화 상자에서 있는지 확인 하십시오 .NET Framework 4.5 선택 됩니다.
에 새 프로젝트 대화 상자에서 확장은 C# 또는 Visual Basic 노드를 다음 선택은 확장성 노드.
[!참고]
확장성 노드인 Visual Studio SDK를 설치한 경우에 사용할 수 있습니다.자세한 내용은 이 항목의 앞부분에 나오는 사전 요구 사항 단원을 참조하십시오.
선택 된 VSIX 프로젝트 템플릿.
에 이름 상자에 입력 CustomActionProjectItem, 다음 선택은 확인 단추입니다.
Visual Studio에서 솔루션 탐색기에 CustomActionProjectItem 프로젝트를 추가합니다.
항목 템플릿 프로젝트를 만들려면
솔루션 탐색기, 솔루션 노드 바로 가기 메뉴를 열고 추가, 다음 선택 새 프로젝트.
[!참고]
Visual Basic 프로젝트에서는 General, Projects and Solutions, Options Dialog Box에서 솔루션 항상 표시 확인란을 선택한 경우에만 솔루션 탐색기에 솔루션 노드가 표시됩니다.
목록 상단에는 새 프로젝트 대화 상자에서 있는지 확인 하십시오 .NET Framework 4.5 선택 됩니다.
에 새 프로젝트 대화 상자에서 확장은 C# 또는 Visual Basic 노드를 다음 선택은 확장성 노드.
프로젝트 템플릿 목록에서 선택 된 C# 항목 템플릿 을 또는 Visual Basic 항목 템플릿 을 템플릿.
에 이름 상자에 입력 ItemTemplate, 다음 선택은 확인 단추입니다.
Visual Studio에서는 ItemTemplate 프로젝트를 솔루션에 추가합니다.
확장 프로젝트를 만들려면
솔루션 탐색기, 솔루션 노드 바로 가기 메뉴를 열고 추가, 다음 선택 새 프로젝트.
목록 상단에는 새 프로젝트 대화 상자에서 있는지 확인 하십시오 .NET Framework 4.5 선택 됩니다.
에 새 프로젝트 대화 상자에서 확장의 C# 또는 Visual Basic 노드를 선택의 Windows 노드를 다음 선택은 클래스 라이브러리 프로젝트 템플릿을.
에 이름 상자에 입력 ProjectItemDefinition, 다음 선택은 확인 단추입니다.
Visual Studio에서 솔루션에 ProjectItemDefinition 프로젝트를 추가하고 기본 Class1 코드 파일을 엽니다.
프로젝트에서 Class1 코드 파일을 삭제합니다.
확장 프로젝트 구성
SharePoint 프로젝트 항목 형식을 정의하는 코드를 작성하기 전에 코드 파일과 어셈블리 참조를 확장 프로젝트에 추가해야 합니다.
프로젝트를 구성하려면
솔루션 탐색기, 바로 가기 메뉴를 엽니다의 ProjectItemDefinition 선택, 프로젝트 추가, 다음 선택 새 항목.
프로젝트 항목 목록에서 선택한 코드 파일.
에 이름 상자에 이름을 입력 합니다. CustomAction 있는 적절 한 파일 이름 확장명 및 다음 선택은 추가 단추.
솔루션 탐색기, 바로 가기 메뉴를 열고를 ProjectItemDefinition 프로젝트를 하 고 선택 참조 추가.
에 참조 관리자 – ProjectItemDefinition 대화 상자에서 선택의 어셈블리 노드를 다음 선택의 Framework 노드.
다음 어셈블리의 각 옆의 확인란을 선택 합니다.
System.ComponentModel.Composition
System.Windows.Forms
선택의 확장 Microsoft.VisualStudio.Sharepoint 어셈블리 옆에 있는 확인란을 선택 하 고 선택 하는 노드에 확인 단추.
새 SharePoint 프로젝트 항목 형식 정의
새 프로젝트 항목 형식의 동작을 정의하기 위해 ISharePointProjectItemTypeProvider 인터페이스를 구현하는 클래스를 만듭니다.새 프로젝트 항목 형식을 정의하려는 경우 항상 이 인터페이스를 구현합니다.
새 SharePoint 프로젝트 항목 형식을 정의하려면
ProjectItemDefinition 프로젝트에서 CustomAction 코드 파일을 엽니다.
이 파일의 코드를 다음 코드로 바꿉니다.
Imports System Imports System.Diagnostics Imports System.ComponentModel Imports System.ComponentModel.Composition Imports Microsoft.VisualStudio.SharePoint Namespace Contoso.SharePointProjectItems.CustomAction ' Export attribute: Enables Visual Studio to discover and load this extension. ' SharePointProjectItemType attribute: Specifies the ID for this new project item type. This string must ' match the value of the Type attribute of the ProjectItem element in the .spdata file for ' the project item. ' SharePointProjectItemIcon attribute: Specifies the icon to display with this project item in Solution Explorer. ' CustomActionProjectItemTypeProvider class: Defines a new type of project item that can be used to create a custom ' action on a SharePoint site. <Export(GetType(ISharePointProjectItemTypeProvider))> _ <SharePointProjectItemType("Contoso.CustomAction")> _ <SharePointProjectItemIcon("ProjectItemDefinition.CustomAction_SolutionExplorer.ico")> _ Partial Friend Class CustomActionProjectItemTypeProvider Implements ISharePointProjectItemTypeProvider Private WithEvents projectItemTypeDefinition As ISharePointProjectItemTypeDefinition ' Configures the behavior of the project item type. Private Sub InitializeType(ByVal projectItemTypeDefinition As ISharePointProjectItemTypeDefinition) _ Implements ISharePointProjectItemTypeProvider.InitializeType projectItemTypeDefinition.Name = "CustomAction" projectItemTypeDefinition.SupportedDeploymentScopes = _ SupportedDeploymentScopes.Site Or SupportedDeploymentScopes.Web projectItemTypeDefinition.SupportedTrustLevels = SupportedTrustLevels.All Me.projectItemTypeDefinition = projectItemTypeDefinition End Sub Private Const DesignerMenuItemText As String = "View Custom Action Designer" Private Sub ProjectItemMenuItemsRequested(ByVal Sender As Object, _ ByVal e As SharePointProjectItemMenuItemsRequestedEventArgs) _ Handles projectItemTypeDefinition.ProjectItemMenuItemsRequested Dim viewDesignerMenuItem As IMenuItem = e.ViewMenuItems.Add(DesignerMenuItemText) AddHandler viewDesignerMenuItem.Click, AddressOf MenuItemClick End Sub Private Sub MenuItemClick(ByVal Sender As Object, ByVal e As MenuItemEventArgs) Dim projectItem As ISharePointProjectItem = CType(e.Owner, ISharePointProjectItem) Dim message As String = String.Format("You clicked the menu on the {0} item. " & _ "You could perform some related task here, such as displaying a designer " & _ "for the custom action.", projectItem.Name) System.Windows.Forms.MessageBox.Show(message, "Contoso Custom Action") End Sub Private Sub ProjectItemNameChanged(ByVal Sender As Object, ByVal e As NameChangedEventArgs) _ Handles projectItemTypeDefinition.ProjectItemNameChanged Dim projectItem As ISharePointProjectItem = CType(Sender, ISharePointProjectItem) Dim message As String = String.Format("The name of the {0} item changed to: {1}", _ e.OldName, projectItem.Name) projectItem.Project.ProjectService.Logger.WriteLine(message, LogCategory.Message) End Sub End Class End Namespace
using System; using System.Diagnostics; using System.ComponentModel; using System.ComponentModel.Composition; using Microsoft.VisualStudio.SharePoint; namespace Contoso.SharePointProjectItems.CustomAction { // Enables Visual Studio to discover and load this extension. [Export(typeof(ISharePointProjectItemTypeProvider))] // Specifies the ID for this new project item type. This string must match the value of the // Type attribute of the ProjectItem element in the .spdata file for the project item. [SharePointProjectItemType("Contoso.CustomAction")] // Specifies the icon to display with this project item in Solution Explorer. [SharePointProjectItemIcon("ProjectItemDefinition.CustomAction_SolutionExplorer.ico")] // Defines a new type of project item that can be used to create a custom action on a SharePoint site. internal partial class CustomActionProjectItemTypeProvider : ISharePointProjectItemTypeProvider { // Implements IProjectItemTypeProvider.InitializeType. Configures the behavior of the project item type. public void InitializeType(ISharePointProjectItemTypeDefinition projectItemTypeDefinition) { projectItemTypeDefinition.Name = "CustomAction"; projectItemTypeDefinition.SupportedDeploymentScopes = SupportedDeploymentScopes.Site | SupportedDeploymentScopes.Web; projectItemTypeDefinition.SupportedTrustLevels = SupportedTrustLevels.All; projectItemTypeDefinition.ProjectItemNameChanged += ProjectItemNameChanged; projectItemTypeDefinition.ProjectItemMenuItemsRequested += ProjectItemMenuItemsRequested; } private const string designerMenuItemText = "View Custom Action Designer"; private void ProjectItemMenuItemsRequested(object sender, SharePointProjectItemMenuItemsRequestedEventArgs e) { e.ViewMenuItems.Add(designerMenuItemText).Click += MenuItemClick; } private void MenuItemClick(object sender, MenuItemEventArgs e) { ISharePointProjectItem projectItem = (ISharePointProjectItem)e.Owner; string message = String.Format("You clicked the menu on the {0} item. " + "You could perform some related task here, such as displaying a designer " + "for the custom action.", projectItem.Name); System.Windows.Forms.MessageBox.Show(message, "Contoso Custom Action"); } private void ProjectItemNameChanged(object sender, NameChangedEventArgs e) { ISharePointProjectItem projectItem = (ISharePointProjectItem)sender; string message = String.Format("The name of the {0} item changed to: {1}", e.OldName, projectItem.Name); projectItem.Project.ProjectService.Logger.WriteLine(message, LogCategory.Message); } } }
솔루션 탐색기에서 프로젝트 항목의 아이콘 만들기
사용자 지정 SharePoint 프로젝트 항목을 만들 때 이미지(아이콘 또는 비트맵)를 프로젝트 항목에 연결할 수 있습니다.이 이미지는 솔루션 탐색기에서 프로젝트 항목 옆에 표시됩니다.
다음 절차에서는 프로젝트 항목의 아이콘을 만들고 확장 어셈블리에 이 아이콘을 포함합니다.이 아이콘은 앞서 만든 CustomActionProjectItemTypeProvider 클래스의 SharePointProjectItemIconAttribute를 통해 참조됩니다.
프로젝트 항목의 사용자 지정 아이콘을 만들려면
솔루션 탐색기, 바로 가기 메뉴를 엽니다의 ProjectItemDefinition 선택, 프로젝트 추가, 다음 선택 새 항목....
프로젝트 항목의 목록에서 선택 된 아이콘 파일 항목입니다.
[!참고]
Visual Basic 프로젝트에서 선택 해야는 일반 노드를 표시 하는 아이콘 파일 항목.
에 이름 상자에 입력 CustomAction_SolutionExplorer.ico, 다음 선택은 추가 단추입니다.
새 아이콘이 이미지 편집기에서 열립니다.
디자인을 인식할 수 있도록 16x16 버전의 아이콘 파일을 편집한 다음 아이콘 파일을 저장합니다.
솔루션 탐색기, 선택 CustomAction_SolutionExplorer.ico.
에 속성 창 옆에 있는 화살표를 선택한는 빌드 작업 속성입니다.
목록에서 선택한 포함 리소스.
검사점
이 연습의 이전 단계를 통해 프로젝트 항목을 위한 모든 코드가 프로젝트에 포함되었습니다.오류 없이 컴파일되는지 확인 하려면 프로젝트를 빌드하십시오.
프로젝트를 빌드하려면
- 바로 가기 메뉴를 열고를 ProjectItemDefinition 프로젝트 및 선택 빌드.
Visual Studio 항목 템플릿 만들기
다른 개발자가 프로젝트 항목을 사용할 수 있도록 하려면 프로젝트 템플릿이나 항목 템플릿을 만들어야 합니다.개발자는 Visual Studio의 이러한 템플릿을 통해 새 프로젝트를 만들거나 기존 프로젝트에 항목을 추가하여 프로젝트 인스턴스를 만듭니다.이 연습을 위해 ItemTemplate 프로젝트를 사용하여 프로젝트 항목을 구성합니다.
항목 템플릿을 만들려면
ItemTemplate 프로젝트에서 Class1 코드 파일을 삭제합니다.
ItemTemplate 프로젝트에서 ItemTemplate.vstemplate 파일을 엽니다.
이 파일의 내용을 다음 XML로 바꾼 다음 파일을 저장하고 닫습니다.
[!참고]
다음 XML은 Visual C# 항목 템플릿에 사용됩니다.Visual Basic 항목 템플릿을 만드는 중이라면 ProjectType 요소의 값을 VisualBasic으로 바꿉니다.
<?xml version="1.0" encoding="utf-8"?> <VSTemplate Version="2.0.0" xmlns="https://schemas.microsoft.com/developer/vstemplate/2005" Type="Item"> <TemplateData> <DefaultName>CustomAction</DefaultName> <Name>Custom Action</Name> <Description>SharePoint Custom Action by Contoso</Description> <ProjectType>CSharp</ProjectType> <SortOrder>1000</SortOrder> <Icon>ItemTemplate.ico</Icon> <ProvideDefaultName>true</ProvideDefaultName> </TemplateData> <TemplateContent> <ProjectItem ReplaceParameters="true" TargetFileName="$fileinputname$\Elements.xml">Elements.xml</ProjectItem> <ProjectItem ReplaceParameters="true" TargetFileName="$fileinputname$\SharePointProjectItem.spdata">CustomAction.spdata</ProjectItem> </TemplateContent> </VSTemplate>
이 파일에서는 항목 템플릿의 내용과 동작을 정의합니다.이 파일의 내용에 대한 자세한 내용은 Visual Studio 템플릿 스키마 참조를 참조하십시오.
솔루션 탐색기, 바로 가기 메뉴를 엽니다의 ItemTemplate 선택, 프로젝트 추가, 다음 선택 새 항목.
에 새 항목 추가 대화 상자에서 선택 된 텍스트 파일 템플릿.
에 이름 상자에 입력 CustomAction.spdata, 다음 선택은 추가 단추입니다.
CustomAction.spdata 파일에 다음 XML을 추가한 다음 파일을 저장하고 닫습니다.
<?xml version="1.0" encoding="utf-8"?> <ProjectItem Type="Contoso.CustomAction" DefaultFile="Elements.xml" xmlns="https://schemas.microsoft.com/VisualStudio/2010/SharePointTools/SharePointProjectItemModel"> <Files> <ProjectItemFile Source="Elements.xml" Target="$fileinputname$\" Type="ElementManifest" /> </Files> </ProjectItem>
이 파일에는 프로젝트 항목에 포함된 파일에 대한 정보가 들어 있습니다.ProjectItem 요소의 Type 특성을 프로젝트 항목 정의(이 연습의 앞부분에서 만든 CustomActionProjectItemTypeProvider 클래스)의 SharePointProjectItemTypeAttribute에 전달되는 것과 동일한 문자열로 설정해야 합니다..spdata 파일의 내용에 대한 자세한 내용은 SharePoint 프로젝트 항목 스키마 참조를 참조하십시오.
솔루션 탐색기, 바로 가기 메뉴를 엽니다의 ItemTemplate 선택, 프로젝트 추가, 다음 선택 새 항목.
에 새 항목 추가 대화 상자에서 선택 된 XML 파일 템플릿.
에 이름 상자에 입력 Elements.xml, 다음 선택은 추가 단추입니다.
Elements.xml 파일의 내용을 다음 XML로 바꾼 다음 파일을 저장하고 닫습니다.
<?xml version="1.0" encoding="utf-8" ?> <Elements Id="$guid8$" xmlns="https://schemas.microsoft.com/sharepoint/"> <CustomAction Id="Replace this with a GUID or some other unique string" GroupId="SiteActions" Location="Microsoft.SharePoint.StandardMenu" Sequence="1000" Title="Replace this with your title" Description="Replace this with your description" > <UrlAction Url="~site/Lists/Tasks/AllItems.aspx"/> </CustomAction> </Elements>
이 파일에서는 SharePoint 사이트의 사이트 작업 메뉴에 메뉴 항목을 만드는 기본 사용자 지정 작업을 정의합니다.사용자가 메뉴 항목을 선택 하는 경우 URL에 지정 된 UrlAction 요소를 웹 브라우저에서 엽니다.사용자 지정 작업을 정의하는 데 사용할 수 있는 XML 요소에 대한 자세한 내용은 Custom Action Definitions를 참조하십시오.
필요한 경우 ItemTemplate.ico 파일을 열고 수정하여 아이콘을 쉽게 식별할 수 있게 디자인합니다.이 아이콘은 새 항목 추가 대화 상자에서 프로젝트 항목 옆에 표시됩니다.
솔루션 탐색기, 바로 가기 메뉴를 열고를 ItemTemplate 프로젝트를 하 고 선택 프로젝트 언로드.
바로 가기 메뉴를 열고는 ItemTemplate 프로젝트를 다시 및 다음 선택 편집 ItemTemplate.csproj 또는 편집 ItemTemplate.vbproj.
프로젝트 파일에서 다음 VSTemplate 요소를 찾습니다.
<VSTemplate Include="ItemTemplate.vstemplate">
이 대체 VSTemplate 요소를 다음 XML 및 다음 저장 후 닫기 파일입니다.
<VSTemplate Include="ItemTemplate.vstemplate"> <OutputSubPath>SharePoint\SharePoint14</OutputSubPath> </VSTemplate>
OutputSubPath 요소는 프로젝트를 빌드할 때 항목 템플릿이 만들어지는 경로에 폴더를 추가로 지정합니다.여기에 지정 된 폴더 고객 열면 항목 템플릿을 사용할 수 있게는 새 항목 추가 대화 상자에서 확장은 SharePoint 노드를 다음 선택은 2010 노드.
솔루션 탐색기, 바로 가기 메뉴를 열고를 ItemTemplate 프로젝트를 하 고 선택 프로젝트 다시 로드.
프로젝트 항목을 배포하기 위한 VSIX 패키지 만들기
확장을 배포하려면 솔루션에서 VSIX 프로젝트를 사용하여 VSIX 패키지를 만듭니다.먼저 VSIX 프로젝트에 포함된 source.extension.vsixmanifest 파일을 수정하여 VSIX 패키지를 구성합니다.그런 다음 솔루션을 빌드하여 VSIX 패키지를 만듭니다.
VSIX 패키지를 구성하고 만들려면
솔루션 탐색기, 바로 가기 메뉴를 열고를 source.extension.vsixmanifest CustomActionProjectItem 프로젝트에서 파일 및 다음 선택 열.
매니페스트 편집기에서 파일이 열립니다.Source.extension.vsixmanifest 파일이 모든 VSIX 패키지를 요구 하는 extension.vsixmanifest 파일에 대 한 기반이 됩니다.이 파일에 대한 자세한 내용은 VSIX 확장 스키마 참조를 참조하십시오.
에 있는 제품명 상자에 입력 사용자 지정 작업 프로젝트 항목.
에 있는 작성자 상자에 입력 Contoso.
에 있는 설명 상자에 입력 SharePoint 프로젝트 항목의 사용자 지정 동작을 나타내는.
에 자산 탭에서 선택은 New 단추.
를 추가 하는 새로운 자산 대화 상자가 나타납니다.
에 있는 유형 목록에서 선택 Microsoft.VisualStudio.ItemTemplate.
[!참고]
이 값은 extension.vsixmanifest 파일의 ItemTemplate 요소에 해당합니다.이 요소는 프로젝트 항목 템플릿이 포함된 VSIX 패키지의 하위 폴더를 식별합니다.자세한 내용은 ItemTemplate Element을 참조하십시오.
에 있는 원본 목록에서 선택 현재 솔루션의 프로젝트에.
에 프로젝트 목록에서 선택 ItemTemplate, 다음 선택은 확인 단추입니다.
에 자산 탭에서 선택의 새로 단추를 다시 클릭 합니다.
를 추가 하는 새로운 자산 대화 상자가 나타납니다.
에 있는 유형 목록에서 선택 Microsoft.VisualStudio.MefComponent.
[!참고]
이 값은 extension.vsixmanifest 파일의 MefComponent 요소에 해당합니다.이 요소는 VSIX 패키지의 확장 어셈블리 이름을 지정합니다.자세한 내용은 MEFComponent Element을 참조하십시오.
에 있는 원본 목록에서 선택 현재 솔루션의 프로젝트에.
에 있는 프로젝트 목록에서 선택 ProjectItemDefinition.
확인 단추를 선택합니다.
메뉴 표시줄에서 선택 빌드, 솔루션 빌드, 및 다음 프로젝트가 오류 없이 컴파일되는지 확인 합니다.
CustomActionProjectItem 프로젝트의 빌드 출력 폴더에 CustomActionProjectItem.vsix 파일이 포함 되어 있는지 확인 하십시오.
기본적으로 빌드 출력 경로는 프로젝트 파일이 포함된 폴더 아래에 있는 ..CustomActionProjectItem 프로젝트를 포함하는 폴더 아래의 \bin\Debug 폴더입니다.
프로젝트 항목 테스트
이제 프로젝트 항목을 테스트할 준비가 되었습니다.우선 실험 모드의 Visual Studio 인스턴스에서 CustomActionProjectItem 솔루션 디버깅을 시작합니다.그런 다음 실험 모드의 Visual Studio 인스턴스에서 SharePoint 프로젝트의 사용자 지정 작업 프로젝트 항목을 테스트합니다.마지막으로, SharePoint 프로젝트를 빌드 및 실행하여 사용자 지정 작업이 예상대로 작동하는지 확인합니다.
솔루션 디버깅을 시작하려면
Visual Studio 관리자 자격 증명으로 다시 시작 하 고 CustomActionProjectItem 솔루션을 엽니다.
사용자 지정 작업 코드 파일을 열고 다음 코드의 첫째 줄에 중단점을 추가 된 InitializeType 메서드입니다.
선택 된 F5 디버깅을 시작 하는 키입니다.
Visual Studio에서는 확장을 %UserProfile%\AppData\Local\Microsoft\VisualStudio\10.0Exp\Extensions\Contoso\Custom Action Project Item\1.0에 설치하고 실험 모드의 Visual Studio 인스턴스를 시작합니다.프로젝트 항목에 Visual Studio이 인스턴스를 테스트 합니다.
Visual Studio에서 프로젝트 항목을 테스트하려면
Visual Studio 실험적 인스턴스에서 메뉴 표시줄에서 선택 파일, New, 프로젝트.
확장 C# 또는 Visual Basic (항목 템플릿을 지 원하는 언어에 따라), 확장 SharePoint, 다음 선택은 2010 노드.
프로젝트 템플릿 목록에서 선택 SharePoint 2010 프로젝트.
에 이름 상자에 입력 CustomActionTest, 다음 선택은 확인 단추입니다.
에 SharePoint 사용자 지정 마법사디버깅에 사용 하려는 사이트의 URL을 입력 하 고 다음 선택의 마침 단추.
솔루션 탐색기, 프로젝트 노드에 대 한 바로 가기 메뉴를 열고 추가, 다음 선택 새 항목.
에 새 항목 추가 대화 상자에서 선택의 2010 노드에서 SharePoint 노드.
사용자 지정 작업 항목이 프로젝트 항목의 목록에 표시되는지 확인합니다.
선택은 사용자 지정 작업 항목을 및 다음 선택은 추가 단추.
라는 항목을 추가 하는 Visual Studio CustomAction1 프로젝트와의 Elements.xml 파일을 편집기에서 엽니다.
다른 Visual Studio 인스턴스의 코드가 이전에 InitializeType 메서드에 설정한 중단점에서 중지하는지 확인합니다.
선택 된 F5 프로젝트에 디버깅을 계속 하려면 키.
실험적 인스턴스에서 Visual Studio 솔루션 탐색기, 바로 가기 메뉴를 열고는 CustomAction1 노드를 다음 선택 뷰 사용자 지정 작업 디자이너.
확인 메시지 상자가 표시 되 고 다음 선택은 확인 단추입니다.
이 바로 가기 메뉴를 사용하여 사용자 지정 작업용 디자이너 표시 등의 추가 옵션이나 명령을 개발자에게 제공할 수 있습니다.
메뉴 표시줄에서 선택 보기, 출력.
출력 창이 열립니다.
솔루션 탐색기, 바로 가기 메뉴를 열고는 CustomAction1 항목을 변경한 다음 해당 이름을 MyCustomAction.
에 있는 출력 창에 확인 메시지가 나타납니다.이 메시지가 작성 되는 ProjectItemNameChanged 에 정의 된 이벤트 처리기는 CustomActionProjectItemTypeProvider 클래스.이 이벤트와 기타 프로젝트 항목 이벤트를 처리하여 개발자가 프로젝트 항목을 수정할 때의 사용자 지정 동작을 구현할 수 있습니다.
SharePoint에서 사용자 지정 작업을 테스트하려면
Visual Studio 실험적 인스턴스에서의 자식이 Elements.xml 파일 열기는 MyCustomAction 프로젝트 항목입니다.
Elements.xml 파일에서 다음과 같은 변경 작업을 수행 하 고 파일을 저장:
에 CustomAction 요소, 설정 된 Id 특성을 GUID 또는 일부 다른 고유한 문자열을 다음 예제와 같이:
Id="cd85f6a7-af2e-44ab-885a-0c795b52121a"
에 CustomAction 요소, 설정 된 Title 특성은 다음 예제와 같이:
Title="SharePoint Developer Center"
에 CustomAction 요소, 설정 된 Description 특성은 다음 예제와 같이:
Description="Opens the SharePoint Developer Center Web site."
에 UrlAction 요소, 설정 된 Url 특성은 다음 예제와 같이:
Url="https://msdn.microsoft.com/sharepoint/default.aspx"
F5 키를 선택 합니다.
사용자 지정 작업을 패키지 하 고 지정 된 SharePoint 사이트에 배포는 사이트 URL 프로젝트의 속성.웹 브라우저가이 사이트의 기본 페이지를 엽니다.
[!참고]
경우는 스크립트 디버깅 사용 안 함 대화 상자가 나타나면 선택은 예 프로젝트에 디버깅을 계속 하려면 단추.
에 있는 사이트 작업 메뉴를 선택 SharePoint 개발자 센터브라우저 웹 사이트 https://msdn.microsoft.com/sharepoint/default.aspx에서 열린다는 것을 확인 하 고 다음 웹 브라우저를 닫습니다.
개발 컴퓨터 정리
프로젝트 항목의 테스트를 마쳤으면 실험 모드의 Visual Studio 인스턴스에서 프로젝트 항목 템플릿을 제거합니다.
개발 컴퓨터를 정리하려면
Visual Studio 실험적 인스턴스에서 메뉴 표시줄에서 선택 도구, 확장 및 업데이트.
확장 및 업데이트 대화 상자가 열립니다.
확장명 목록에서 선택한 사용자 지정 작업 프로젝트 항목, 다음 선택은 제거 단추입니다.
나타나는 대화 상자에서 선택 된 예 확장명을 제거할 것인지 확인 하는 버튼.
선택은 이제 다시 단추 제거를 완료 합니다.
Visual Studio 실험적 인스턴스에서 CustomActionProjectItem 솔루션에 열려 있는 인스턴스를 모두 닫습니다.
다음 단계
이 연습을 완료한 후에는 항목 템플릿에 마법사를 추가할 수 있습니다.사용자가 사용자 지정 작업 프로젝트 항목을 SharePoint 프로젝트에 추가 하는 경우 마법사 동작 (예: 위치 및 동작을 했을 때 탐색할 URL)에 대 한 정보를 수집 하 고이 정보를 새 프로젝트 항목에서의 Elements.xml 파일에 추가 합니다.자세한 내용은 연습: 항목 템플릿을 사용하여 사용자 지정 작업 프로젝트 항목 만들기, 2부을 참조하십시오.
참고 항목
작업
연습: 항목 템플릿을 사용하여 사용자 지정 작업 프로젝트 항목 만들기, 2부
아이콘 또는 다른 이미지 만들기(아이콘에 대한 이미지 편집기)
참조
개념
사용자 지정 SharePoint 프로젝트 항목 형식 정의