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