是的,我有一些代码,允许我在线创建一个Sharepoint项目,但是它正在创建一个"企业项目"默认情况下,我想创建,它作为" SharePoint任务列表"代替即可。 (在线编辑项目时,这些是以下两个选项)
我设法找到的唯一代码是改变它:
// Get the GUID of the specified enterprise project type.
private static Guid GetEptUid(string eptName)
{
Guid eptUid = Guid.Empty;
try
{
// Get the list of EPTs that have the specified name.
// If the EPT name exists, the list will contain only one EPT.
var eptList = projContext.LoadQuery(
projContext.EnterpriseProjectTypes.Where(
ept => ept.Name == eptName));
projContext.ExecuteQuery();
eptUid = eptList.First().Id;
// Alternate routines to find the EPT GUID. Both (a) and (b) download the entire list of EPTs.
// (a) Using a foreach block:
//foreach (EnterpriseProjectType ept in projSvr.EnterpriseProjectTypes)
//{
// if (ept.Name == eptName)
// {
// eptUid = ept.Id;
// break;
// }
//}
// (b) Querying for the EPT list, and then using a lambda expression to select the EPT:
//var eptList = projContext.LoadQuery(projContext.EnterpriseProjectTypes);
//projContext.ExecuteQuery();
//eptUid = eptList.First(ept => ept.Name == eptName).Id;
}
catch (Exception ex)
{
string msg = string.Format("GetEptUid: eptName = \"{0}\"\n\n{1}",
eptName, ex.GetBaseException().ToString());
throw new ArgumentException(msg);
}
return eptUid;
}
从此代码块我必须传递basicEpt
名称,给出的示例是:private static string basicEpt = "SharePoint Tasks List";
我尝试过使用varius设置创建的多个EPT,但是我仍在创建一个企业项目,所以要么我错过了什么?
此处提供了可供下载sharepoint的示例项目列表:https://github.com/OfficeDev/Project-Samples
我对"创建 - 更新 - 项目 - 样本"感兴趣特别是。这将为您提供一个直接工作的程序,并希望能够证明我的问题是什么,所需要的就是在上面的函数中添加。
感谢您在这里提供任何帮助,它正在使用上述功能传递正确的GUID,但它没有正确保存。
答案 0 :(得分:0)
我对你的问题也有很多困惑,我发现当你创建一个带有任务列表的项目时,它将成为sharepoint任务项目。 希望这会有所帮助。
var pci = new ProjectCreationInformation
{
Name = "new1",
Description = "test",
EnterpriseProjectTypeId = new Guid(""),
//Id = Guid.NewGuid(),
Start = DateTime.UtcNow,
TaskList = taskList
};
var project = context.Projects.Add(pci);