如何以编程方式在 s-s-rS 报告项目中添加 .rdl 文件?

Posted

技术标签:

【中文标题】如何以编程方式在 s-s-rS 报告项目中添加 .rdl 文件?【英文标题】:How to Programmatically Add .rdl Files in the s-s-rS Reporting Project? 【发布时间】:2021-01-29 02:41:57 【问题描述】:

我有一个使用报表服务器项目向导创建的 Visual Studio 2019 项目。在此项目中,我从不同的报表服务器项目导入报表 (.rdl) 文件。要添加报告,我在解决方案资源管理器中右键单击项目并执行添加 > 现有项,然后选择 .rdl 文件,然后将其包含在项目中。 有没有办法以编程方式将报表 (.rdl) 文件包含在项目中? 例如,我可以创建一个 C# 控制台应用程序来从一个报表服务器项目复制 (.rdl) 文件,然后实际将它们添加到不同的报表服务器项目中。将 .rdl 文件从一个项目简单地复制和粘贴到另一个项目是行不通的——即使在粘贴之后,该文件也不会显示在项目中。

我尝试使用 EnvDTE 访问解决方案和项目对象,但是所有提供有关 EnvDTE 信息的在线资源,例如 https://flylib.com/books/en/3.50.1.50/1/,都有用 VB 编写的示例代码,它向您展示了如何创建一个新的解决方案和项目对象,然后添加一个文件。我想要的是以编程方式访问当前(现有)报表服务器项目的对象,并以某种方式以编程方式将另一个文件夹中的 .rdl 文件添加到该项目中。这可能吗?

谢谢

【问题讨论】:

【参考方案1】:

除非你有数百个项目,否则我看不出构建一些很容易做的东西的意义。执行“添加现有项目”时可以选择多个文件。

话虽如此,您只需将文件复制到目标项目文件夹,然后将条目添加到项目组中的项目文件中

例如

 <ItemGroup>
    <Report Include="My First Report.rdl" />
    <Report Include="My Second Report.rdl" />
 <ItemGroup> 

您可以将其作为一个简单的文本文件处理。

【讨论】:

我实际上有大约 1000 个文件需要导入,这就是我想以编程方式进行的原因。感谢您的回答。

以上是关于如何以编程方式在 s-s-rS 报告项目中添加 .rdl 文件?的主要内容,如果未能解决你的问题,请参考以下文章

使用 ReportService2010.asmx 以编程方式从共享点导出 s-s-rS 报告

带有手动添加列的 s-s-rS 排序矩阵

自动打印 s-s-rS 报告?

如何将文本框添加到 s-s-rS 项目中的现有矩阵?

s-s-rS 报告未从存储过程中提取数据

s-s-rS - 报告后上传数据源