gtag

2011年1月26日 星期三

檔案 '/XXXX.aspx' 尚未完成先行編譯,因此無法要求此檔案。

當開發好的ASP.NET(含Report Viewer)網站,
想把網站部署到正式環境,筆者所使用的方式是在開發環境先行編譯後,再將編譯好的程式檔案複製到新機器的目錄上,不過最近遇到這個問題,在開發環境是正常執行,但到了正式環境後出現"檔案 '/XXXX.aspx' 尚未完成先行編譯,因此無法要求此檔案。"的錯誤訊息頁面,試著利用下列指今在新環境重新編譯:

C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_compiler -v / -p "D:\Temp\RPT" c:\temp

原始碼:D:\Temp\C2ERPRPT
編譯後:c:\temp
-v:網站虛擬目錄

得到下列訊息:
D:\Temp\RPT\web.config(35): error ASPCONFIG: 無法載入檔案或組件 'Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f1
1d50a3a' 或其相依性的其中之一。 系統找不到指定的檔案。

原來是ReportViewer的函式庫沒有帶進來,需複製下面兩個檔案到目錄[網站根目錄\bin]下(筆者使用VS2010版本):

目錄:
C:\Program Files\Microsoft Visual Studio 10.0\ReportViewer
檔名:
Microsoft.ReportViewer.Common.dll
Microsoft.ReportViewer.WebForms.dll

這樣找到問題點後,其實不需再從新編譯,直接將編譯好的程式檔案,目錄[網站根目錄\bin]放入上方兩個檔案,在新環境即可正常執行了。

沒有留言:

張貼留言