以编程方式在Windows窗体应用程序中设置reportviewer本地报表路径

时间:2013-04-11 09:57:06

标签: winforms clickonce reportviewer rdlc reportingservices-2005

我有一个Windows窗体应用程序,它使用reportViewer控件显示一些报告。

string exeFolder = Path.GetDirectoryName(Application.StartupPath);
string reportPath = Path.Combine(exeFolder, @"Reports\report.rdlc");

如果我创建一个在任何客户端计算机上安装应用程序的安装文件但是在使用ClickOnce部署在公司Intranet上部署应用程序时失败,则上述代码有效。

我将.rdlc Build Action设置为Content并将Copy To OutPut Directory设置为Always Always。

以下是代码

reportViewer1.LocalReport.DataSources.Clear();
ReportDataSource datasource = new ReportDataSource("myReportDataSourceHere", authorisedLeave);
reportViewer1.LocalReport.DataSources.Add(datasource);

string exeFolder = Path.GetDirectoryName(Application.ExecutablePath);
string reportPath = Path.Combine(exeFolder, @"rdlcReports\myReportName.rdlc");

reportViewer1.LocalReport.ReportPath = reportPath;
reportViewer1.RefreshReport();

然后,当我尝试从浏览器中的ClickOnce安装链接安装应用程序时,我会收到以下错误消息。

  

错误摘要以下是错误摘要,详细信息   错误将在日志中稍后列出。 *激活   C:\ Users \用户myWindowsUserName \桌面\ ProjectName.appref-MS |结果   例外。

检测到以下失败消息:

正在下载http://Server1 /我的项目名称/应用程序 Files / MyProjectName_1_0_0_25 / rdlcReports / myReportName.rdlc没有 成功。

远程服务器返回错误:(404)Not Found。

0 个答案:

没有答案