2017-05-08 8 views
0

에 대한 정의를 포함하지 않는 나는 다음과 같은 코드가 있습니다는 ListItemAllFields

public void ChangeFolderPermission() 
{ 
    SP.ClientContext ctx = new SP.ClientContext("https://sharepoint.oshirowanen.com/sites/oshirodev/"); 
    ctx.Credentials = new NetworkCredential("user", "pass", "domain"); 

    SP.Principal user = ctx.Web.EnsureUser("accountName"); 
    var folder = ctx.Web.GetFolderByServerRelativeUrl("folderUrl"); 
    var roleDefinition = ctx.Site.RootWeb.RoleDefinitions.GetByType(SP.RoleType.Reader); //get Reader role 
    var roleBindings = new SP.RoleDefinitionBindingCollection(ctx) { roleDefinition }; 
    folder.ListItemAllFields.BreakRoleInheritance(true, false); //set folder unique permissions 
    folder.ListItemAllFields.RoleAssignments.Add(user, roleBindings); 
    ctx.ExecuteQuery(); 
} 

하지만 다음 줄 :

'Microsoft.SharePoint.Client.Folder' does not contain a definition for 'ListItemAllFields' and no extension method 'ListItemAllFields' accepting a first argument of type 'Microsoft.SharePoint.Client.Folder' could be found (are you missing a using directive or an assembly reference?) 

나는이 :

folder.ListItemAllFields.BreakRoleInheritance(true, false); //set folder unique permissions 
folder.ListItemAllFields.RoleAssignments.Add(user, roleBindings); 

이 오류 메시지를 제공을 다음 프로젝트 참조

Microsoft.SharePoint.Client 
microsoft.SharePoint.Client.Runtime 

나는 다음과 같은 사용 지침

using SP = Microsoft.SharePoint.Client; 

어떤 생각이 왜이 오류를 얻고있다?

응용 프로그램은 데스크톱 환경에서 실행되는 winform입니다.

+0

바보 같은 질문,하지만 당신은 필요 없어 폴더 개체를 정의 할 때 SP.folder를 사용하거나 호출 한 함수를 기반으로 반환 유형을 알기에 충분히 똑똑한 컴파일러입니다. – Eric

답변