C# - class 的相对路径
C# - Relative path of class
试图获取配置文件的相对路径,它位于核心项目中的 class 旁边,并且还试图避免硬编码相对路径(即“../../../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
路径的更好方法吗?
配置文件永远不属于 Programm 文件夹。无论如何,我们确实在 Windows 98 次中这样做了,但当时不赞成这样做。由于 XP 不再可靠地编写这样的配置文件。 Programm 文件夹受到保护。出于安全原因,大多数用户只能读取它们而不能写入它们。这也包括该用户启动的任何程序。
如果您想存储用户或系统的特定设置,这就是 special folders 的用途。他们的一个明确目的是,无论用户运行您的程序,都应该具有对他自己的文件夹和所有共享文件夹的读取(并且可能写入)访问权限。
您可以将 "default configuration" 添加到 Programm 目录以用作新用户的模式。但即便如此,也有一个现有结构(默认用户文件夹),因此您可以将模板放置到设置中。
试图获取配置文件的相对路径,它位于核心项目中的 class 旁边,并且还试图避免硬编码相对路径(即“../../../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
路径的更好方法吗?
配置文件永远不属于 Programm 文件夹。无论如何,我们确实在 Windows 98 次中这样做了,但当时不赞成这样做。由于 XP 不再可靠地编写这样的配置文件。 Programm 文件夹受到保护。出于安全原因,大多数用户只能读取它们而不能写入它们。这也包括该用户启动的任何程序。
如果您想存储用户或系统的特定设置,这就是 special folders 的用途。他们的一个明确目的是,无论用户运行您的程序,都应该具有对他自己的文件夹和所有共享文件夹的读取(并且可能写入)访问权限。
您可以将 "default configuration" 添加到 Programm 目录以用作新用户的模式。但即便如此,也有一个现有结构(默认用户文件夹),因此您可以将模板放置到设置中。