DNX451 与 DNXCORE50 获取当前应用程序目录
在使用文件上传、日志、等需要用到当前程序所在目录时,通常我们会使用:AppDomain.CurrentDomain.BaseDirectory
现在由于我们为了跑 DNX451 和 DNXCORE50 再用上面的代码获取会得到类似如下的路径:
c:/Users/Jason/.dnx/runtimes/dnx-clr-win-x64.1.0.0-rc1-update1/bin/
为了兼容 DNX451(.NET Framework) 和 DNXCORE50 (.NET Core)
请用如下代码:
public string ApplicationDirectory { get { #if DNX451 return AppDomain.CurrentDomain.GetData("APP_CONTEXT_BASE_DIRECTORY").ToString(); #endif #if DNXCORE50 return AppContext.BaseDirectory; #endif } }
其中 AppContext 是 .NET Core 新增的类。