有关导出到MS Project的架构问题

时间:2009-12-01 19:49:04

标签: c# architecture ms-project

我有一个小的asp.net Web应用程序,允许您创建项目和任务,并为他们应用估算,工作等。我正在编写导出功能,允许您将它们下载为MS Project文件。它实际上只是一个XML文件。

之后我将编写一个导入功能,允许您重新安排任务开始和停止日期,分配的资源等,但不能修改估计值或应用小时数。这将仅由Web应用程序处理。

我正在努力找出做到这一点的最佳架构。以下是我想要的一些想法。

  1. 在我的Project类上添加ExportToProject函数,并动态创建XML。
  2. 获取现有的类结构并添加XML序列化程序属性,并将对象序列化为项目文件。但是,这给我留下了一些问题。我没有使用的所有其他属性会发生什么。如果序列化对象不包含所有数据,并且格式化为MS Project,则该序列化对象的重复性如何。我可以有多个序列化视图,可以这么说吗?
  3. 创建一个新的XmlExport类,它将被序列化,类似于上面的策略,但是有一个额外的抽象层。
  4. 盗版FogBugz的副本,安装它,然后转移到哥斯达黎加。
  5. 谢谢,感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

我会使用3.或1b。这使您有机会随时更改内部结构而不会出现复杂情况。

1b中。将是:创建一个能够动态创建XML的导出器类。但是,不要在Project类中找到该导出器,而是在单独的导出器中找到。这也是一个额外的抽象层。

答案 1 :(得分:0)

使用MPXJ而不是自己滚动,它提供了一套方便的.Net以及Java库。它读取所有类型的MS Project格式并写入.MPX和更新的基于XML的文件格式。

这是一个基于POI的强大库,可以为您节省大量的工作。