【问题标题】:How to make a dynamic path in vb.net如何在 vb.net 中创建动态路径
【发布时间】:2023-03-16 04:13:01
【问题描述】:

每次我将我的 vb.net 文件与其他 PC 中的报告一起传输时。我总是必须更改报告的目录,以便它可以在其他计算机上运行。

例子

从(PC1)

Report.Load("C:\Users\SFAC\Documents\Visual Studio 2012\Projects\SASApp\SASApp\RegistrarsBack.rpt")

到这个目录(PC2)

Report.Load("C:\Users\SAS\Documents\Visual Studio 2012\Projects\SASApp\SASApp\RegistrarsBack.rpt")

这是我在运行时将文件传输到 PC2 时遇到的错误。

有没有聪明的方法来处理这个问题?谢谢

【问题讨论】:

  • 是的,当将项目与报告一起加载时(水晶报告文件到其他 PC)。我总是必须更改报告的目录,以便它可以在其他计算机上运行。有没有办法做到这一点?
  • 我现在删除了对这个问题的两个不同答案,因为您似乎无法确定您要问的是什么。所以我投票决定关闭它,直到你编辑它以清楚而具体你想问什么。您是否询问将您的项目及其文件 转移到不同的机器,以便您可以在其中任何一台上处理代码?或者您是在询问在运行时 查找您的应用程序正在运行的当前目录吗?两种方法我都回答了​​,你都不满意。
  • @ken White,如果你认为我没有解释清楚,我很抱歉。不要对一个很难说英语并试图以最好的方式解释的人期望太多。我认为你是一个完美的人,你很乐意冒犯别人,让他们觉得自己很愚蠢。
  • 这个网站的工作方式是有两个部分。你的一半是第一,你清楚而具体地解释你要解决的问题,并提出与该问题相关的具体问题。然后我们可以完成我们的一半工作,即回答这个问题。在第一部分完成之前,下半部分无法完成。完成前半部分是你的工作,所以我们不会浪费时间做我们的一半,只是发现这不是你的意思。我现在已经毫无理由地完成了我的工作两次。所以你现在需要做好你的本分。
  • 我也不是第一个提出这个问题的人;查看您收到的答案,其中回答的人还说您的问题不清楚。你没有做任何事情让它更清楚。这不是我们的错。

标签: vb.net path


【解决方案1】:

您帖子的内容似乎不一定与标题匹配,但是,如果问题是如何获取当前工作目录,那么答案是使用Environment.CurrentDirectory。这通常会返回运行当前 EXE 的路径。也就是说,这可能不是初始工作目录,并且工作目录可能会在会话过程中发生变化。

我还应该提到,如果您只使用没有文件夹路径的文件名,它将被解释为在当前工作目录中。我会建议明确而不是隐含地这样做。

【讨论】:

    【解决方案2】:

    首先,您需要将 .rpt 文件复制到项目的 bin\Debug\Report 文件夹中。

    要动态到达该位置,您需要写下以下代码。

    Dim path As String = My.Application.Info.DirectoryPath & "\Report\ReportName.rpt"
    CrystalReportViewer1.ReportSource = path
    

    【讨论】:

      猜你喜欢
      • 2019-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多