Поговорив с Райаном в автономном режиме и просмотрев его данные - вот что мы нашли.
Райан может создавать файлы MPX и MSPDI с использованием MPXJ с минимальным набором атрибутов для каждой задачи. В приведенном выше примере кода указаны только имя и дата начала. Все имена задач отображаются, как и ожидалось, в файлах MPX и MSPDI.
При открытии в Project 2003 или Project 2007 все имена задач видны ... однако, если вы начинаете работать с файлом и сворачиваете иерархию задач (в случае данных, сгенерированных Райаном, сворачиваются все задачи ниже уровня клиента) иногда одна из задач будет просто отключена. Все данные для этой задачи просто исчезнут, и никакое расширение и свертывание иерархии задач не вернет ее.
Поведение выглядит хуже в Project 2010, где многие имена задач остаются пустыми, как только загружается проект.
Похоже, что это странная проблема MS Project, связанная с импортом файлов, у которых нет определенных атрибутов. В этом случае Райан добавил дату экспорта к своему экспорту, и это, похоже, помогло. При открытии в Project 2010 файлы, которые содержат атрибут даты окончания, правильно отображают все имена задач. Когда я был открыт в Project 2003, я не мог воспроизвести случайную проблему с «гашением», которую я видел в исходном файле.
В более общем примечании приведен пример класса, который поставляется с MPXJ, который называется MpxjCreate, в котором приведен пример минимального набора атрибутов, необходимых для обеспечения отображения задач, ресурсов и назначений ресурсов, как ожидается, когда файлы, созданные с помощью MPXJ, являются открыт в MS Project.