我有一个用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.
我试过将报告文件'receiptReport.rpt'的Build Action设置为Embedded Resource但现在还好运..我正在使用VS2010 ..
答案 0 :(得分:18)
很多事情在使用谷歌搜索后,其中一个解决方案会解决问题。
1)如果包含文件夹的名称中包含空格,则报告代码文件(.cs)中的完整FullResourceName属性将是错误的。最好的解决方法是重命名文件夹以删除空格,如果您手动编辑错误将继续返回的代码文件
2)确保rtp文件的build属性设置为Embedded Resource
3)使用Developer Express进行报告并首先避免所有麻烦
答案 1 :(得分:6)
嗯......我有同样的问题。 我的解决方案是编辑报告的属性,并更改自定义名称空间。
让我们说我正在从名称空间“A”中调用报告,我的报告位于相同的工具名称空间,但在其他DLL中。
所以,我已经清除了自定义名称空间......并重建了所有内容。
问题解决了我。
答案 2 :(得分:3)
我手动将* .rpt和* .vb文件复制到另一个解决方案的目录后,在VS 2010中收到了相同的“无法在清单资源中找到报告”错误。
检查嵌入式资源设置后,每个人都在这篇文章中说过(它已经设置为嵌入式资源),
我通过右键单击解决方案资源管理器中的.rpt文件并选择“运行自定义工具”来解决问题。
答案 3 :(得分:2)
许多程序员都犯了一个愚蠢的错误。 它实际上只在您将项目或报表从一个项目转移或更改到另一个项目时才会发生。
"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
答案 4 :(得分:2)
将包含Crystal Report的文件夹名称命名为without Space。
例如:文件夹名称“报告部分”为“ReportSection”
答案 5 :(得分:2)
我的问题是我的报告所在的目录名称是所有数字,以便与我们使用的客户端代码相对应。所以发生的事情是Visual Studio命名为类Reports._1234567
,而我的目录是“\ Reports \ 1234567”。当我重命名文件夹“_1234567”时,文件夹与类名匹配,一切正常。
在FullResourceName
属性背后的报告代码中是:
public override string FullResourceName {
get {
return "app700.Reports._1234567.CrystalReport1.rpt";
}
set {
// Do nothing
}
}
VS添加了下划线字符,因为您不能拥有不start with a letter or underscore的类名。
答案 6 :(得分:2)
通过删除包含空格的文件夹解决了我的问题。 我改变之后,这个错误消失了。
:)
答案 7 :(得分:1)
VB.Net中的VS2010。在“解决方案资源管理器”窗口中,我将.rpt文件从根文件夹移动到子文件夹以进行报告。这为我解决了错误。