继续使用上一个帖子here。
我所做的是复制并粘贴.cs文件所在的.rpt文件,并将其移动到\ bin \ Debug文件夹中。它工作,但当我删除.cs文件所在的.rpt文件时,我收到错误...
读取资源文件'C:.. Report.rpt'时出错 - '系统找不到指定的文件。 '
我在btn方法中创建了一个动态路径...
private void btn_Click_1(object sender, EventArgs e)
{
ReportDocument cryRpt = new ReportDocument();
cryRpt.Load(Application.StartupPath + "\\Report.rpt");
crystalReportViewer1.ReportSource = cryRpt;
crystalReportViewer1.Refresh();
}
我的头脑中有很多问题,因为我将使用安装项目,因为我缺乏知识和经验,我有点混淆。
1)我应该将.rpt文件保留在.cs文件的位置,并将.rpt文件复制并粘贴到\ bin \ Debug文件夹中吗?
2)我还需要做点什么吗?这引出了另一个问题......我该怎么做?
3)当我查看.rpt文件的属性时,我可以看到完整路径目录。
所以我正在寻找指南。
如果有人可以帮助我,请提前致谢。
答案 0 :(得分:2)
您可以在项目中包含rpt文件并将其标记为:
答案 1 :(得分:1)
好的.net被定义为使用所谓的Xcopy部署。即应用程序所需的所有文件最终都在输出文件夹中。在构建之后,您可以“在任何地方”复制该文件夹,您的代码将起作用。
通过将“额外”文件从机器上的任何位置复制到输出文件夹来实现。在@Syzmon定向时,将属性设置为copy if newer
或copy always
,就是这样。
显然,为了将文件复制到原始必须存在的地方。当您从代码文件夹中删除它们时,您将VS保留在与删除cs文件时相同的位置,然后想知道为什么没有获得exe ...
所以基本上你做得对,只是不要删除原件。