我编写了一个小型C#应用程序,它使用WindowsAPI代码包显示Office文档的“日期上次保存”属性:
ShellFile file = ShellFile.FromFilePath(absolutePath);
DateTime result = (DateTime)file.Properties.GetProperty("System.Document.DateSaved").ValueAsObject;
这在我的本地计算机和其他计算机上完美运行,但在服务器上以某种方式它在Office XML文件上完成时返回一个无效值(文件系统的修改日期,可能与“Date Last Save”属性不同)格式(即docx,xlsx和pptx)。在“旧”格式(doc,xls,ppt)上它确实有用。
任何人都知道可能导致这种情况的原因是什么?我已经在这台服务器上重新安装并在线激活了Microsoft Office 2010(两次)并重启服务器很多次,但仍然有相同的结果。
修改
仍然没有确切地指出这个问题,但我认为它可能与将其编译为x86 vs x64有关。