2015-05-18 54 views
7

我有一個問題,我已經得出結論,它是機器的具體基礎,但我想知道,如何解決它,以防萬一它出現在另一臺機器。ReportViewer 2010,IO.Exception

我開發了I WPF項目(.NET 4),我使用Installshield LE安裝。該計劃的先決條件也是ReportViewer 2010,我之前安裝(如果需要)。

我已製作的節目的裝置,以下列機器:

  1. 視窗7 64位SP1
  2. 視窗7 32位
  3. 視窗XP SP3(情況1)
  4. 視窗XP SP3(情況2)
  5. 的Windows XP SP3(情況3)

在所有噸他機器上面我的報告中運行得很好,除了#5(案例3),在那裏我得到以下錯誤:

Microsoft.Reporting.WinForms.LocalProcessingException: An error occurred during local report processing. ---> 
    Microsoft.Reporting.DefinitionInvalidException: The definition of the report '' is invalid. ---> 
    Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: An unexpected error occurred in Report Processing. ---> 
    System.IO.IOException: The process cannot access the file 'C:\Documents and Settings\<WindowsLogOnName>\Local Settings\Temp\expression_host_2e380b8068bb4ef5a53225faab4ebcb4.dll' because it is being used by another process. 

所有的機器打相同的數據庫,我測試的報告是在每一個相同案件。

有沒有人遇到過這個錯誤,並有任何線索?

+0

已嘗試清除臨時文件夾,然後再次運行您的應用程序? –

+0

是否可以將其安裝在另一個文件夾中?我經常會發現,我花更多時間來研究像這樣的CR問題,而不是開發應用程序所需的時間。 – Apostrofix

+0

如果這是一個數據庫文件,請嘗試將擴展名重命名爲其他名稱。防病毒軟件將對系統中新增的dll執行檢查,並在此過程中鎖定文件。 –

回答

3

我聽說過阻止訪問localreport臨時文件的惡意軟件和防病毒程序,因爲報告中的表達式基本上都是VBScript。嘗試禁用這些並再次嘗試。 Here is the only source I have found on this

否則,幾件事嘗試:

  1. 上都RDLC和臨時文件檢查文件權限。 NETWORK SERVICES以及ASP.NET用戶帳戶都需要訪問這些帳戶。確保它具有FULL CONTROL,因爲它需要執行權限以及讀取和寫入。
  2. 檢查磁盤空間
  3. 嘗試使用進程監視器(如Process Explorer)來查看是否有其他程序保留在文件句柄上。
  4. 嘗試刪除臨時文件並重新啓動或回收應用程序池。
  5. 也許沖刷你的事件查看器可能找到關於這個問題的更多信息?

如果這些都不起作用,那麼最好直接向MS報告問題。

相關問題