Изменить владельца проекта с помощью PSI 2010(интерфейс Project Server)

Я хочу изменить ProjectOwnerUID с помощью PSI(Project Server Interface). Я написал, что с последующим аналогичным кодом

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(неверный владелец проекта).

Я не знаю, что случилось, что выдало это исключение
Как я могу решить эту проблему?

1 ответ

Эта проблема возникает, когда у вас нет прав на редактирование информации о проекте с использованием следующего фрагмента кода, который вы можете сообщить серверу проекта для запуска этого фрагмента кода, не проверяйте разрешения!!

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

                });
    }

Справочник по MSDN

Другие вопросы по тегам