Как извлечь отставание предшественника и Parent.Id с помощью ProjectServer Получение Microsoft.SharePoint.Client.PropertyOrFieldNotInitializedException - PullRequest
2 голосов
/ 16 января 2020

Ниже приведен код, который я использую.

using (ProjectContext projContext = new ProjectContext('pwa url'))
{
   projContext.AuthenticationMode = ClientAuthenticationMode.Default;
   projContext.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
   var projects = oBasicDetails.ProjContext.Projects;
   var ProjectContext = oBasicDetails.ProjContext;
   IEnumerable<PublishedTask> publishedTasks = ProjectContext.LoadQuery(selectedProject.Tasks);
   ProjectContext.ExecuteQuery();
   foreach (PublishedTask oTTask in publishedTasks)
   {
      IEnumerable<PublishedTaskLink> oPredecessorsList = ProjectContext.LoadQuery(oTTask.Predecessors);
      ProjectContext.ExecuteQuery();
      foreach (PublishedTaskLink PredecessorTask in oPredecessorsList)
      {
      if (PredecessorTask.IsObjectPropertyInstantiated("LinkLagFmt"))
      {
          Lag = PredecessorTask.LinkLag;
      }
      if (PredecessorTask.IsObjectPropertyInstantiated("LinkLagDuration"))
      {
          Lag = PredecessorTask.LinkLag;
      }
      if (PredecessorTask.IsObjectPropertyInstantiated("LinkLag"))
      {
          Lag = PredecessorTask.LinkLag;
      }
   }
   }
   var ParentTaskId = oTTask.Parent.Id;
}

Когда я пытаюсь получить доступ к LinkLag или Parent.Id, я получаю PropertyOrFieldNotInitializedException.

ProjectContext.Load()
ProjectContext.ExecuteQuery()

Если это правильное решение , Что я должен загружать в ProjectContext?

...