C# 发布RDLC文件
我的WPF应用程序中有几个RDLC文件。当我发布项目时,报告文件不会被发布,当我尝试使用客户端访问它们时,我会收到一个错误,说找不到它们。我检查了发布文件夹,实际上,它们不在那里。我使用以下代码调用RDLC文件:C# 发布RDLC文件,c#,visual-studio-2010,reportviewer,C#,Visual Studio 2010,Reportviewer,我的WPF应用程序中有几个RDLC文件。当我发布项目时,报告文件不会被发布,当我尝试使用客户端访问它们时,我会收到一个错误,说找不到它们。我检查了发布文件夹,实际上,它们不在那里。我使用以下代码调用RDLC文件: Microsoft.Reporting.WinForms.ReportViewer rvReportViewer; /* ... */ rvReportViewer.LocalReport.ReportPath = string.Format("Reports/{0}.rdlc", R
Microsoft.Reporting.WinForms.ReportViewer rvReportViewer;
/* ... */
rvReportViewer.LocalReport.ReportPath = string.Format("Reports/{0}.rdlc", ReportName);
我已经尝试将这些文件的构建操作设置为“Resource”,这是我对静态图像文件的设置,但这似乎没有任何区别
为什么不将报告复制到发布目录?有没有办法强迫这种情况发生,或者我应该以其他方式访问它们
谢谢 我不知道RDLC文件是否有特殊问题,但这里有一个确保其他文件发布的一般方法 在解决方案资源管理器中的文件上单击鼠标右键,选择“属性”。将“构建操作”设置为“内容”,将“复制到输出目录”设置为“如果更新,则复制” 转到项目属性->发布页面。点击“应用程序文件按钮”,选中“显示所有文件”。将“发布状态”设置为“包括(自动)” 文件属性 应用程序文件
我使用@nos的答案已经有一段时间了,但我注意到在出版物中,.rdlc文件集被复制到两个地方:
1. <published folder>\Reports\Report1.rdlc;
2. <published folder>\bin\Reports\Report1.rdlc.
现在没有任何内容写入第二个位置。而不是使用.ReportPath
对不起,伙计们,这与“总是复制”或“如果更新就复制”无关。事实上,我将其设置为“从不复制”。
通过将构建操作从“嵌入式资源”更改为“内容”,可以解决此问题“。然后,当您生成和发布RLDC文件时,会将其复制到正确的位置。使用这些设置会将每个rdlc文件的附加副本发布到bin文件夹中。”。查看我的答案以了解其他设置。发布选项卡与2017不同,因此这些选项不可用@tbirangi的回答对我有用。我能够选择多个rdlc文件,右键单击,并将构建操作设置为所有文件的内容。它们在发布时被复制,并且没有bin文件夹的副作用。
Build Action: Content;
Copy to Output Directory: Do not copy.
reportViewer1.LocalReport.ReportEmbeddedResource="[Project
Name].[FolderName if Exist].[ReportName].rdlc";