ListItemAllFields je le code suivant:ne contient pas de définition pour
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();
}
mais les lignes suivantes:
folder.ListItemAllFields.BreakRoleInheritance(true, false); //set folder unique permissions
folder.ListItemAllFields.RoleAssignments.Add(user, roleBindings);
donne ce message d'erreur:
'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?)
Je la références de projet suivantes
Microsoft.SharePoint.Client
microsoft.SharePoint.Client.Runtime
Je la directive à l'aide suivante
using SP = Microsoft.SharePoint.Client;
pourquoi Toute idée que je reçois cette erreur?
L'application est un winform qui s'exécute à partir d'un environnement de bureau.
question stupide de ma part, mais ne vous devez utilisez SP.folder lors de la définition de l'objet dossier ou si le compilateur est suffisamment intelligent pour connaître le type de retour en fonction de la fonction que vous avez appelée. – Eric