在使用文件上传、日志、等需要用到当前程序所在目录时,通常我们会使用: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 新增的类。
请见:https://github.com/dotnet/corefx/issues/2670
时间: 2024-11-05 14:14:53