无意中发现的两种方式,其实他们还是一有点区别的,就是结尾处有无。。。。就是不知道哪一种方式更好,比如跨平台发布有无影响之类的,毕竟是.netcore项目。
求大神解答
ASP.NET Core 中:
(1) DLL 程序集路径:AppDomain.CurrentDomain.BaseDirectory
(2) Web应用程序根目录:IHostingEnvironment.ContentRootPath
(3) wwwroot 所在路径:IHostingEnvironment.WebRootPath
开发环境 (1) 和 (2) 不同;
发布后的环境 (1) 和 (2) 相同。
至于跨平台,以上Windows 和 Linux下都可以正常工作。
另外,你还可以使用 Path.DirectorySeparatorChar 来获取当前os的路径分隔符。
能说具体一点吗?或者相关资料之类的。。。。
@iiiiiim:
AppDomain.CurrentDomain.BaseDirectory 可直接使用:
string path1 = System.AppDomain.CurrentDomain.BaseDirectory;
IHostingEnvironment 一般是依赖注入方式使用:
比如,在asp.net core web項目中的 Startup.cs 文件:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
string webRootPath = env.WebRootPath;
string contentRootPath = env.ContentRootPath;
}
还有第三种选择:Directory.GetCurrentDirectory()
......能说下优劣吗