我有一個VS2008 Web應用程序項目正在預編譯沒有是可更新的。當我嘗試使用ReportViewer加載應該顯示RDLC報告的頁面時,它只顯示一個空白頁面。它在一個非預編譯版本中工作正常。可能是什麼問題呢?爲什麼我的預編譯的Web應用程序不能加載RDLC報告?
回答
問題是VS也嘗試編譯RDLC文件,只留下標記文件而不是原始的.rdlc文件。 ReportViewer無法處理這個問題,並引發錯誤。這在日誌中顯示爲:
報告定義無效。詳細信息:根級別的數據無效。行1,位置1.
解決方案是將原始RDLC文件複製到部署的應用程序。這可以在後期製作步驟中自動完成。有關該錯誤的詳細信息,請參閱this thread,有關詳細信息如何編輯Web部署項目的生成後步驟,請參見this post。我在Web部署項目文件中添加了以下內容:
<ItemGroup>
<ReportFiles Include="$(SolutionDir)Path\To\Reports\*.rdlc" />
</ItemGroup>
<Target Name="AfterBuild">
<Copy SourceFiles="@(ReportFiles)" DestinationFolder=".\Release\Reports\" />
</Target>
這似乎是一個有趣的話題,但它可能有一些更好的文章。我相信我們建議卸載該項目,然後編輯它添加類似於上述內容,對嗎? 令人困惑的是,發佈配置文件具有相同的架構,並且幾乎看起來像是另一個目標。 – Greg 2015-12-01 22:14:24
這可能不是確切的解決方案。我在VS2013嘗試這樣的預編譯的發佈過程的一部分,不建:
http://msdn.microsoft.com/en-us/library/hh475319(v=vs.110).aspx
展開文件發佈選項,然後發佈期間選擇預編譯。
生成後事件在發佈/預編譯過程之前運行,所以.rdlc
文件在它將被預編譯之前被複制。至少,這對我來說很像。
這解決了這個問題對我來說:
也就是說,我刪除從web.config中以下內容,生成操作設置爲內容:
<buildProviders>
<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</buildProviders>
你的回答沒」爲我工作。以下工作爲我在aspnet_compiler運行後複製文件。
<Target Name="AdditionalFilesForPackage" AfterTargets="CopyAllFilesToSingleFolderForPackage;CopyAllFilesToSingleFolderForMsDeploy">
<ItemGroup>
<ExtraFiles Include="$(MSBuildProjectDirectory)\Path_To_Dir\**\*" />
</ItemGroup>
<Copy SourceFiles="@(ExtraFiles)" DestinationFiles="@(ExtraFiles->'$(_PackageTempDir)\Path_To_Dir\%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="true" />
</Target>
- 1. eclipse爲什麼不編譯我的web應用程序?
- 2. 爲什麼我的VB 6.0應用程序不能編譯?
- 3. mvc3應用程序中的RDLC報告
- 4. 爲什麼我的rdlc報告顯示空白報告?
- 5. 程序RDLC報告
- 6. 爲什麼我不能調試我的asp.net web應用程序
- 7. 預加載/預緩存可能對我的Web應用程序不利
- 8. 爲什麼程序不能編譯?
- 9. 爲什麼我不能在運行時編輯我的ASP.NET Web應用程序?
- 10. RDLC報告中使用了什麼序列化程序?
- 11. ASP.NET性能:無需預編譯的Web應用程序
- 12. 加快Web應用程序的編譯
- 13. 爲什麼多線程似乎不能加速我的web應用程序?
- 14. 爲什麼我的程序編譯但不能運行?
- 15. 爲什麼我的程序不能編譯?
- 16. 爲什麼我的C++除法程序不能編譯
- 17. 爲什麼我的HelloWorld程序不能編譯?
- 18. 爲什麼我的程序不能編譯? (在cmd.exe中)
- 19. 爲什麼我不能用OpenBSD編譯?
- 20. 爲.NET Web應用程序部署預編譯的更新?
- 21. 爲什麼我不能將角餅乾加載到我的應用程序中?
- 22. 爲什麼我的express.js應用程序永不加載?
- 23. 爲什麼我的Laravel應用程序不會加載?
- 24. 爲什麼我的flex應用程序有時無法編譯?
- 25. 爲什麼XCode 4.0編譯器不報告錯誤的行號?
- 26. 爲什麼編譯器報告SDWebImageManager的defaultCachePathForKey找不到?
- 27. SSRS報告無法加載.net報告應用程序
- 28. 使用rdlc報告添加子報表處理程序vb.net
- 29. 爲什麼我不能編譯這個命令行OpenCV Mac應用程序?
- 30. 爲什麼我的Silverlight應用程序不能在Internet Explorer中加載?
提問並回答了我自己的問題,以供將來我和其他可能遇到同樣問題的人蔘考。 – Daan 2010-09-07 07:31:07