【问题标题】:Change Project Owner Using PSI 2010(Project Server Interface)使用 PSI 2010(项目服务器接口)更改项目所有者
【发布时间】:2016-04-30 01:39:39
【问题描述】:

我想使用 PSI(项目服务器接口)更改 ProjectOwnerUID。我用类似的代码写了这个

var projectDataSet = this.GetProjectDataSet(projectInfo.ProjectUID);
        var orginalProject = this.GetProject(projectInfo.ProjectUID, projectDataSet);
        var sessionUID = this.CheckOutProject(projectInfo.ProjectUID);
if (!string.IsNullOrEmpty(projectInfo.ProjectOwnerName))
        {
            var resourceManager = new Resource();
            var ownerResource = resourceManager.GetResource(projectInfo.ProjectOwnerName);
            if (ownerResource == null)
            {
                throw new Exception("this is not valid");
            }
            orginalProject.ProjectOwnerID = ownerResource.ResourceUID;
        }


this.UpdateProject(sessionUID, projectDataSet);

不幸的是,当光标到达 UpdateProject 行时,它会抛出带有代码号的异常

ProjectServerError(s) LastError=ProjectInvalidOwner 说明:将此传递给 PSClientError 构造函数以访问所有错误信息

内部错误 1056(无效的项目所有者)。

我不知道发出这个异常是怎么回事
我该如何解决这个问题?

【问题讨论】:

    标签: c# project-server psi epm


    【解决方案1】:

    当您没有权限使用以下代码编辑项目信息时会出现此问题sn -p u can tell to project server to run this piece of code do not check permissions!!

    using Microsoft.SharePoint;
        public void MyVoid()
        {
           SPSecurity.RunWithElevatedPrivileges(delegate()
                    {    
                      //Write ur Codes here :)
    
                    });
        }
    

    MSDN Reference

    【讨论】:

      猜你喜欢
      • 2015-07-09
      • 1970-01-01
      • 1970-01-01
      • 2012-09-08
      • 2011-01-04
      • 2017-06-16
      • 1970-01-01
      • 2013-09-12
      • 2014-03-02
      相关资源
      最近更新 更多