带有XMLSerializer的DirectoryNotFoundException

时间:2014-04-29 20:17:42

标签: c# xmlserializer

我正在开发一个将Sharepoint Dashboards部署到Sharepoint服务器的流程。仪表板文件是.DDWX,但它是一个XML文件。我所做的是读取此XML文件,并将其序列化为XML所代表的对象。这是在这里完成的

var model = Deserialize<ScorecardModel>(File.ReadAllText(workspaceFile));    

当我在sharepoint服务器上运行应用程序(它只是一个exe文件)时,我收到以下错误

  

DirectoryNotFoundException:找不到路径'C:\ Users \ myusername \ AppData \ Temp \ 2 \ wnkzh25x.tmp'

的一部分

这似乎是从

中抛出的
  

System.IO.FileStream.Init(String path,FileMode mode,FileAccess access,Int32 rights,Boolean useRights,FileShare share,Int32 bufferSize,FileOptions options,SECURITY_ATTRIBUTES secAttrs,String msgPath,Boolean bFromProxy)

方法。这里有什么我想念的吗?它在我的本地计算机以及其他服务器上运行完全正常,但不是这个。是否需要在某处添加一个程序集?

EDIT ::::

经过多次挖掘后,这就是失败的线

 var serializer = new XmlSerializer(typeof(T));
在这种情况下,

是Microsoft.PerformancePoint.Scorecards.DesignerWorkspace.ScorecardModel(DLL包含在解决方案中)类型。我需要注册这个程序集吗?

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,我很尴尬地报告它是一个.Net版本问题。我在4.5中编写了应用程序,服务器上有4.0。安装4.5解决了这个问题。