1

我有 Visual Basic(Visual Studio 专业版,.NetFrameWork 4.0) 我想包含并调用 PDFButton_Click_Even我包含 MyPDF.pdf ,Resources然后我点击链接并调用为:

Process.Start("LinkTo\MyPDF.pdf")

但这没关系并且可以工作,就像在我自己​​的 PC 上一样,但是当我在另一台 PC 上安装它时(或者我从指定的链接中替换 PDF),所以它无法打开MyPDF.pdf

所以我的问题是我在安装过程中做了什么MyPDF.pdf也安装在用户计算机上,我为此使用了哪些代码?

提前致谢 :)

4

2 回答 2

1

首先,在解决方案资源管理器中按下 pdf 文件。该文件的属性应如下所示:

Build Action: Content 
Copy to output directory: Copy always

用户计算机中文件的路径将是Application.StartupPath & "\Resources\MyPDF.pdf"

不确定我没有忘记一些东西,所以告诉我它是否有效:)


编辑: 我看到很多人都遇到了这个问题,所以这是我所知道的在 Visual Studio 中将文件与 .net 程序一起部署的最简单方法:

  1. 将文件拖放到解决方案资源管理器
  2. 在解决方案资源管理器中按下文件并将其属性修改为:

    构建动作:内容;
    复制到输出目录:始终复制

  3. 要在代码中使用的文件的路径将是Application.StartupPath & "\filename.txt"
我认为有一种方法可以在没有 Application.StartupPath 的情况下做到这一点,这可能会以某种方式导致问题,但我不知道如何

于 2013-04-10T14:16:43.687 回答
0

哇!!!太好了,最后我可以在其他机器上打开任何文件
我是通过普通方法完成的,所以我失败了我将为那些想要学习的人解释:
1)=我通过单击属性添加 PDF 文件solution explorer,然后选择Resources资源我添加了“添加现有项目”所以 PDF 被添加到我的项目中的“ Resources”文件夹中

2)=之后,我在解决方案资源管理器中单击 PDF 并将构建操作更改为:内容(即使没有也有效)并复制到输出目录到:始终复制(如您所建议的 :))

3)=所以出了什么问题,实际上编译器在文件夹外创建文件bin夹,我们都只粘贴Release文件夹(当我们部署时,我实际上这样做了哈哈),所以我只是剪切(Ctrl+X)Resource文件夹并粘贴到Release文件夹中,并通过以下代码调用:

Process.Start("Resources\MyPDF.pdf")

我确定如果我们将 PDF 文件直接复制到 Release 文件夹中,那么这也适用于以下代码:

Process.Start("MyPDF.pdf")

我相信这将对那些正在寻找它的人有所帮助!
谢谢帮助我的人。贾扎卡拉

于 2013-04-11T08:15:38.673 回答