我试图做我认为是一个相对容易的任务,在运行时,我想获得可执行文件的路径,以便能够使用这个目录创建一个子目录来存储我的设置xml文件
public ProgramSettings()
{
filePath = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName) + @"Settings";
}
我构建调试构建,这运行良好-但我期望,如果我将可执行文件移动到另一个位置(或计算机),它应该拾取新的位置。即使在另一台机器上,该代码仍然返回Visual Studio环境的原始路径。有人能解释一下这是怎么回事吗?
应该可以:
public ProgramSettings()
{
var baseDir = Path.GetDirectoryName(System.Reflection.Assembly.GetAssembly(typeof(ProgramSettings)).Location);
string fullPath = $"{baseDir}\Settings\";
}