C# 当前节目位置?

C# 当前节目位置?,c#,file,location,C#,File,Location,目前正在编写需要存储数据的软件(我知道,它很先进),但我不知道人们想把它保存在哪里。默认情况下,我希望将其保存到C:\中,但在使用N:\作为默认驱动器的服务器上,这不起作用 我可以将其更改为使用N:\但如果一个人选择在系统上以任何其他驱动器运行它,我也会遇到同样的问题 我知道你可以得到当前程序的位置,但是我怎样才能复制第一部分以便使用它呢 范例 程序位置:X:\Something\Something\Program.exe 我想从中得到的是:X:\Something\Something,然后添加

目前正在编写需要存储数据的软件(我知道,它很先进),但我不知道人们想把它保存在哪里。默认情况下,我希望将其保存到C:\中,但在使用N:\作为默认驱动器的服务器上,这不起作用

我可以将其更改为使用N:\但如果一个人选择在系统上以任何其他驱动器运行它,我也会遇到同样的问题

我知道你可以得到当前程序的位置,但是我怎样才能复制第一部分以便使用它呢

范例

程序位置:X:\Something\Something\Program.exe

我想从中得到的是:X:\Something\Something,然后添加要创建的新文件的名称(newdatafile.txt),使其成为X:\Something\Something\newdatafile.txt


我在C#工作。

您可以使用SaveFileDialog来处理所有的繁重工作


您可以使用SaveFileDialog来处理所有的重物搬运


我想这会满足你的要求:

var exeFolder = System.IO.Path.GetDirectoryName(Application.ExecutablePath) + @"\";

然后只需将新文件名附加到末尾。

我想这将满足您的要求:

var exeFolder = System.IO.Path.GetDirectoryName(Application.ExecutablePath) + @"\";

然后,只需将新文件名附加到末尾。

如果您省去了X:\Something\Something\part,而只使用文件名,我相信它会自动计算出程序位置的X:\Something\Something。例如,我将
HelpProvider
HelpNamespace
仅分配给help.chm文件,它会自动在程序文件中查找(针对我的个人情况)。如果我错了,请随时纠正我。好的,我会试试:)你能澄清一下你是在寻找当前的程序位置()还是对默认情况下应该存储用户文件的位置()感兴趣吗?(我担心两个版本都是重复的,但也许你们在寻找完全不同的东西)两者的混合。我想要的是运行程序的当前路径,但是如何使用该文件路径来编写文本文件。最终的结果是,无论用户在哪里运行程序,它创建的.exe和数据都在同一个位置。如果您省略了X:\Something\Something\part,而只使用文件名,我相信它会自动计算出程序位置的X:\Something\Something\号。例如,我将
HelpProvider
HelpNamespace
仅分配给help.chm文件,它会自动在程序文件中查找(针对我的个人情况)。如果我错了,请随时纠正我。好的,我会试试:)你能澄清一下你是在寻找当前的程序位置()还是对默认情况下应该存储用户文件的位置()感兴趣吗?(我担心两个版本都是重复的,但也许你们在寻找完全不同的东西)两者的混合。我想要的是运行程序的当前路径,但是如何使用该文件路径来编写文本文件。最终的结果是,无论用户在哪里运行程序,它创建的.exe和数据都位于同一个位置因为它将为您处理斜杠。请注意,这正是OP所要求的,但将用户数据保存在可执行文件旁边对于“每个用户”安装的应用程序并不是一个好主意,对于每台机器安装一次(因为普通用户将无法写入此类文件夹),这一点非常好。在这种情况下,OP应该查看环境特殊文件夹以附加我推荐的文件名
Path.Combine(exeFolder,filename)因为它将为您处理斜杠。请注意,这正是OP所要求的,但将用户数据保存在可执行文件旁边对于“每个用户”安装的应用程序并不是一个好主意,对于每台机器安装一次(因为普通用户将无法写入此类文件夹),这一点非常好。在这种情况下,OP应该查看环境专用文件夹