我有一个 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 设置为 Copy 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\Desktop\ProjectName.appref-ms| 导致异常。
检测到以下故障消息:
下载http://Server1
/My Project Name/Application Files/MyProjectName_1_0_0_25/rdlcReports/myReportName.rdlc 未成功。
远程服务器返回错误:(404) Not Found。