获取主可执行c# Visual Studio的相对路径



我试图做我认为是一个相对容易的任务,在运行时,我想获得可执行文件的路径,以便能够使用这个目录创建一个子目录来存储我的设置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\";
}

相关内容

  • 没有找到相关文章

最新更新