如何在运行可执行文件时将静态路由添加到仍然可以使用的桌面应用程序?

问题描述

我有一个桌面应用程序,必须在其中使用Windows Report Viewer创建PDF文件。我在WPF中使用MVVM体系结构。当我要创建PDF时,我从viewmodel调用一个方法,该方法调用了创建和保存PDF的方法。这是方法

GeneratePDF(Routes.route);

在我的解决方案中,我有两个项目,一个用于ModelView,另一个用于View。 PDF .rdlc存储在View项目中。

我将路由存储在一个类中,该类具有带有如下所示路由的静态字符串:

public class Routes
{
    public static string route = "..\\..\\Reports\\Report.rdlc";
}

这样,我进入View项目文件夹,并在Reports文件夹中获取.rdlc,并在GeneratePDF方法中采用如下路线:

public void GeneratePDF(route)
{
   ...
   ReportViewer viewer = new ReportViewer();
   ...
   viewer.LocalReport.ReportPath = route;
}

这在Debug中运行良好。问题是当我为应用程序创建可执行文件时。创建可执行文件时,文件夹会更改并且Routes类中的路由不再起作用,我认为是因为.rdlc文件不在该路径中,所以当我尝试调用CreatePDF方法时,由于找不到了它,所以它不起作用文件夹。

有没有办法解决这个问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)