【问题标题】:Creating exe file创建exe文件
【发布时间】:2021-01-11 06:45:17
【问题描述】:

我正在尝试创建一个可以分发给人们的 exe 文件,但我想知道是否有人可以向我解释,如果我在程序中写入文本文件然后创建一个 exe,当其他人下载应用程序,因为我指向 c:user\source\programApp\repos\textfile.txt

有没有办法在程序中通用地声明 textfile.txt?

【问题讨论】:

    标签: vb.net exe


    【解决方案1】:

    在您的代码中,您应该避免将文件写入绝对路径。您的用户通常不太可能在他们的系统上已经存在相同的路径,并且如果不存在,您无法确定您的程序将以足够的权限运行以创建路径。

    相反,您有三个选择:

    1. 在本地写入您的 textfile.txt,即在 exe 所在的同一文件夹中。
    2. 将您的 textfile.txt 写入相对路径,在写入之前始终小心检查该路径是否存在(并首先尝试创建它)
    3. 将您的 textfile.txt 写入标准用户文件夹之一(或您创建的子目录,如有必要)。为此,您使用System.Environment.GetFolderPath 向其传递相关参数,例如Environment.SpecialFolder.MyDocuments

    在所有情况下,您都应该将写入的文件附在Try .. Catch 中,这样,如果运行 exe 时没有足够的权限在指定位置写入文件,您的程序就不会崩溃。

    【讨论】:

      【解决方案2】:

      您几乎不应该对文件或文件夹路径进行硬编码。您应该始终使用在运行时解析的标准路径。您可以使用Environment.GetFolderPathMy.Computer.FileSystem.SpecialDirectories 获取各种标准Windows 文件夹的路径,包括用户的Documents 文件夹。假设您正在创建 Windows 窗体或 WPF 应用程序,您可以使用 Application.StartupPath 获取运行当前应用程序的文件夹,然后使用 Path.CombineMy.Computer.FileSystem.CombinePath 从它们创建文件或子文件夹路径。

      我要指出,普通用户没有权限在Program Files文件夹下写入,所以写入应用程序文件夹通常是禁止的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-22
        • 1970-01-01
        • 2012-02-11
        • 2020-03-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多