2012-12-18 69 views
0

我有超過1000個rdl文件,並且希望記錄每個文件中的數據源的名稱。我正在嘗試在C# 中以編程方式加載和訪問單個rdl文件,並嘗試了以下代碼行。以編程方式訪問RDL文件 - (拋出異常)

Microsoft.ReportingServices.RdlObjectModel.Report.Load("C:\\abc.rdl"); 

但是會引發下面的異常。爲什麼拋出這個異常?


System.Xml.XmlException了未處理消息=「反序列化 失敗:無法加載文件或組件 「Microsoft.ReportingServices.ReportDesign.Common,版本= 10.0.0.0, Culture =非PublicKeyToken = 89845dcd8080cc91'或其一個 依賴關係。系統找不到指定的文件。第5行, 位置6.「源= 「Microsoft.ReportingServices.Designer.Controls」 LineNumber上= 5 LinePosition = 6堆棧跟蹤: 在Microsoft.ReportingServices.RdlObjectModel.Serialization.RdlReader.ReadRoot(類型 型)

+0

您確定RDL的版本與您已安裝到本機的SSRS版本相匹配嗎? –

回答

2

系統無法找到指定的文件。

我想也許你錯過了依賴或什麼的。確保Microsoft.ReportingServices.ReportDesign.Common程序集在您的系統上?

+0

我已經添加了所有需要的dll。所以這不是我猜測的問題 – WinW

2

嘗試使用fuslogvw.exe來查看缺少哪個程序集。或者只是將RDL加載到XmlDocument或XDocument中,並使用XPath或XLinq。