Ниже приведен код, который я использую.
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?