reportViewer コントロールを使用していくつかのレポートを表示する Windows フォーム アプリケーションがあります。
string exeFolder = Path.GetDirectoryName(Application.StartupPath);
string reportPath = Path.Combine(exeFolder, @"Reports\report.rdlc");
上記のコードは、任意のクライアント コンピューターにアプリケーションをインストールするセットアップ ファイルを作成すると機能しますが、ClickOnce 配置を使用して会社のイントラネットにアプリケーションを配置すると失敗します。
.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) 見つかりません。