gpt4 book ai didi

c# - 如何在安装应用程序的文件夹内创建文件夹和文件? C#

转载 作者:太空宇宙 更新时间:2023-11-03 18:27:11 25 4
gpt4 key购买 nike

我希望能够在安装应用程序的文件夹中设置默认文件夹和文件创建?因为这个应用程序将在多台机器上使用,所以我不能指定像 C://Users/PcName/etc. 这样的路径。有什么非常简单的方法吗?

最佳答案

您尝试做的事情是不可取的;如果您的应用程序是使用推荐的默认方法(遵循 Microsoft 指南)安装的,则该应用程序将位于 C:\Program Files 下的目录中(或程序文件文件夹可能被重定向的位置)以及运行应用程序将没有对该目录的写入权限,因此目录创建将失败

也就是说,您不能使用 Environment.CurrentDirectory,因为它可能是也可能不是您应用程序的可执行文件所在的目录,CurrentDomain.BaseDirectory 也不是,因为这也没什么意义(文档说它是加载程序将在其中搜索程序集的目录,但它可能是也可能不是应用程序可执行文件的目录)。

复制自 this其他答案,找到程序集目录的正确方法是

public static string AssemblyDirectory
{
get
{
string codeBase = Assembly.GetExecutingAssembly().CodeBase;
UriBuilder uri = new UriBuilder(codeBase);
string path = Uri.UnescapeDataString(uri.Path);
return Path.GetDirectoryName(path);
}
}

获得路径后,您可以尝试使用 System.IO.Directory.CreateDirectory() 创建目录并使用 System.IO.File.WriteAllText()< 创建文件 或其兄弟,或任何其他创建文件的标准方法。

您可能还想使用较新的 Assembly.GetExecutingAssembly().Location 属性,并在其上使用 Path.GetDirectoryName()

关于c# - 如何在安装应用程序的文件夹内创建文件夹和文件? C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31872992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com