无法在清单资源中找到报告 – Crystal Report / C#

我有一个用C#编写的Windows应用程序,我正在尝试使用水晶报表查看器显示水晶报表。 我的报告名称是“receiptReport”,我使用以下行在查看器中显示报告:

receiptReport rpt = new receiptReport(); crystalReportViewer.ReportSource = rpt; 

我收到以下错误: Unable to find the report in the manifest resources. Please build the project, and try again. Unable to find the report in the manifest resources. Please build the project, and try again.

我已经尝试将报告文件’receiptReport.rpt’的构建操作设置为嵌入式资源但现在仍然运气..我正在使用VS2010 ..

在经过大量谷歌搜索后,很多事情都会出现问题,其中一个解决方案可以解决问题。

1)如果包含文件夹的名称中包含空格,则报告代码文件(.cs)中的完整FullResourceName属性将是错误的。 最好的解决方法是重命名文件夹以删除空格,如果您手动编辑错误将继续返回的代码文件

2)确保rtp文件的build属性设置为Embedded Resource

3)使用Developer Express进行报告,并首先避免所有问题

嗯……我遇到了同样的问题。 我的解决方案是编辑报告的属性,并更改自定义名称空间。

假设我正在从名称空间“A”中调用报告,并且我的报告位于相同的工具名称空间中但在其他DLL中。

所以,我已经清除了自定义名称空间……并重建了一切。

问题解决了我。

将包含Crystal Report的文件夹名称命名为without Space。

例如:文件夹名称“报告部分”为“ReportSection”

我的问题是我的报告所在的目录名称是所有数字,以便与我们使用的客户端代码相对应。 所以发生的事情是Visual Studio命名为Reports._1234567类,而我的目录是“\ Reports \ 1234567”。 当我重命名文件夹“_1234567”时,该文件夹与类名匹配,一切正常。

在报告的FullResourceName属性背后的代码是这样的:

 public override string FullResourceName { get { return "app700.Reports._1234567.CrystalReport1.rpt"; } set { // Do nothing } } 

VS是添加了下划线字符,因为您不能拥有不以字母或下划线开头的类名。

这是许多程序员犯下的一个愚蠢的错误。 它实际上只在您将项目或报表从一个项目转移或更改到另一个项目时才会发生。

 "Unable to find the report in the manifest resources - Crystal Report / C#" 

解:

进入项目的报告表格.CS文件现在你有:

 public override string FullResourceName { get { //Note this path it must be yours project name Or full path of Crystal report return "FullPath_from_project_name.Crystalreport.rpt"; } set { // Do nothing } } 

我确信你必须没有错误如果没有邮寄给我错误:kapil.dev824@yahoo.com

通过删除包含空格的文件夹解决了我的问题。 在我改变之后,这个错误消失了。

🙂

在手动将* .rpt和* .vb文件复制到另一个解决方案的目录后,我收到了VS 2010中的“无法在清单资源中找到报告”错误。

在检查嵌入式资源设置后,每个人都在这篇文章中谈到(它已经设置为嵌入式资源),

我通过右键单击解决方案资源管理器中的.rpt文件并选择“运行自定义工具”来解决问题。

VB.Net中的VS2010。 在“解决方案资源管理器”窗口中,我将.rpt文件从根文件夹移动到子文件夹以进行报告。 这为我修复了错误。