【发布时间】:2018-08-19 15:55:04
【问题描述】:
试图获取配置文件的相对路径,它位于核心项目中的一个类旁边,并试图避免硬编码的相对路径(即“../../../seleniumconfig.json”)
这是我的项目结构,
- Awesome.Core(库项目)
- 硒(文件夹)
- ZSelenium.cs
- seleniumconfig.json(在此处需要它,因此只有高级用户才能访问此文件)
- 硒(文件夹)
- Awesome.OtherProject1(调用项目,引用 Awesome.Core)
- Program.cs
- Awesome.OtherProject2(另一个调用项目,引用 Awesome.Core)
- Program.cs
Program.cs(在 Awesome.OtherProject1 中)
using (var scope = Container.BeginLifetimeScope())
{
var selenium = scope.Resolve<ZSelenium>();
...
}
ZSelenium.cs
var rootDir = new DirectoryInfo(Environment.CurrentDirectory);
// "/users/myuser/Documents/MyProject/AwesomeProject.OtherProject"
我可以从rootDir 变量构造我的相对路径,但是我想避免很多硬编码的../../.. 东西。另外,如果我从另一个项目调用ZSelenium.cs,则相对路径可能会改变。
有没有人知道在核心项目中获取ZSelenium.cs 路径的更好方法?
【问题讨论】:
-
编译后,“ZSelenium.cs”不再存在,它将是应用程序运行的文件夹,因此您必须确保将“seleniumconfig.json”复制到输出正在运行的应用程序。所以:“ZSelenium.cs”的相对路径不是你想要的
-
@CamiloTerevinto 知道了!谢谢你:)
标签: c# path relative-path