【发布时间】:2015-02-27 16:46:10
【问题描述】:
我目前正在尝试使用 SPMeta2 框架在 Sharepoint 365 中创建一个简单的列表。我已经尝试根据文档进行操作,但遇到了异常,然后我决定简单地从他们的示例中复制代码,位于here 现在,当我尝试部署我的模型时,我不断收到 System.InvalidCastException。它说它需要 SiteModelHost,但是当我给它 SiteModelHost 时,我得到了同样的异常,说是 WebModelHost。显然,当我给它网页时,它会要求提供网站。如有任何指示,我将不胜感激。
这是我部署模型的代码:
class Program
{
static void Main (string[] args)
{
var targetSite = new Uri("https://url.com/");
var login = "***.com";
var password = "1234";
var securePassword = new SecureString();
foreach (char c in password)
{
securePassword.AppendChar(c);
}
var onlineCredentials = new SharePointOnlineCredentials(login, securePassword);
var model = SPMeta2Model
.NewSiteModel(site =>
{
site
.WithFields(fields =>
{
fields
.AddField(FieldModels.Contact)
.AddField(FieldModels.Details);
})
.WithContentTypes(contentTypes =>
{
contentTypes
.AddContentType(ContentTypeModels.CustomItem)
.AddContentType(ContentTypeModels.CustomDocument);
})
.WithLists(lists =>
{
lists
.AddList(ListModels.TestLibrary)
.AddList(ListModels.TestList)
.AddList(ListModels.TestLinksList);
});
});
using (var context = new ClientContext(targetSite))
{
context.Credentials = onlineCredentials;
var povisionService = new CSOMProvisionService();
povisionService.DeployModel(WebModelHost.FromClientContext(context), model); // WebModelHost/SiteModelHost - same exception
}
【问题讨论】:
标签: c# sharepoint