【发布时间】:2018-06-13 04:06:26
【问题描述】:
我需要获取解决方案文件 (.sln) 所在的路径。我尝试使用以下几行:
string startupPath = Path.Combine(Directory.GetParent(System.IO.Directory.GetCurrentDirectory()).Parent.Parent.Parent.FullName,"abc.txt");
// Read the file as one string.
string text = System.IO.File.ReadAllText(startupPath);
当我运行它时,我得到一个“未经授权的访问异常”。当我“手动”放置路径时:C:\Users\yabej\source\repos\tutoriales\Proyecto 0.1 它可以工作!
但是我需要一个“自动”解决方案来确保当我在不同的计算机上运行我的项目时路径是正确的
【问题讨论】:
-
解决方案文件 (.sln) 不会在生产计算机上。您不能为此提供通用解决方案。
-
为什么项目中的代码需要知道解决方案文件夹的路径?我怀疑您正在尝试解决错误的问题。请说明您实际想要实现的目标,而不是您尝试如何实现它。
-
@jmcilhinney 我正在尝试使用按钮从我的项目中执行 .exe。带有 .exe 的文件夹位于解决方案文件夹中。这就是为什么我需要路径。
-
这没有任何意义。将应用程序部署到另一台计算机后,就应用程序而言,解决方案文件夹和项目文件夹不再存在。如果您的应用程序安装在用户的“程序文件”文件夹中,解决方案文件夹在哪里?如果您的应用程序想要访问文件,那么它们应该位于程序文件夹下,您可以使用
Application.StartupPath获得,或者标准位置,您可以使用Environment.GetFolderPath获得。
标签: c# visual-studio path