我是sharepoint新手。我试图上传一个文件,并将元数据添加到文件。下面是我的代码。在声明ClientContext
例外: clientContext结构。ServerVersion抛出类型为PropertyOrFieldNotInitializedException的异常
同样的情况也发生在Site, Web.
using (ClientContext clientContext = new ClientContext(SPURL))
{
//ClientContext clientContext = new ClientContext(SPURL);
clientContext.Credentials = new System.Net.NetworkCredential(userName, password, domain);
Web web = clientContext.Web;
FileCreationInformation newFile = new FileCreationInformation();
newFile.Content = System.IO.File.ReadAllBytes(PPTPath);
newFile.Url = "F:\log.txt";
List docs = web.Lists.GetByTitle("Test");
Microsoft.SharePoint.Client.File uploadFile = docs.RootFolder.Files.Add(newFile);
clientContext.ExecuteQuery();
using (FileStream fileStream =
new FileStream(PPTPath, FileMode.Open))
ClientOM.File.SaveBinaryDirect(clientContext,
DocumentRepository + PPTfilename, fileStream, true);
}
CSOM库希望你在调用ExecuteQuery()时告诉他们你想从SharePoint环境中查询什么。因此,您需要告诉clientcontext对象您想要加载什么。例如:Web web = clientContext.Web;
后接clientContext.Load(web);
这是一个简单的例子。要上传文件,最好的办法是使用File。SaveBinaryDirect函数。如何使用它的例子可以在stackoverflow的其他地方找到。