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 新增的类。

请见:https://github.com/dotnet/corefx/issues/2670

时间: 2024-11-05 14:14:53

DNX451 与 DNXCORE50 获取当前应用程序目录的相关文章

c#获取当前运行程序所在的目录

C#获取项目程序及运行路径的方 1.asp.net webform用“Request.PhysicalApplicationPath获取站点所在虚拟目录的物理路径,最后包含“\”: 2.c# winform用 A:“Application.StartupPath”:获取当前应用程序所在目录的路径,最后不包含“\”: B:“Application.ExecutablePath ”:获取当前应用程序文件的路径,包含文件的名称: C:“AppDomain.CurrentDomain.BaseDirec

IOS中获取各个文件的目录路径的方法和NSFileManager类

转自:http://blog.sina.com.cn/s/blog_5fb39f910101di92.html IOS中获取各种文件的目录路径的方法 iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory()), 手动保存的文件在documents文件里 Nsuserdefaults保存的文件在tmp文件夹里 1.Documents 目录:您应该将所有

C#获取当前应用程序所在路径及环境变量

C#获取当前应用程序所在路径及环境变量 一.获取当前文件的路径 string str1=Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名. string str2=Environment.CurrentDirectory;//获取和设置当前目录(即该进程从中启动的目录)的完全限定路径.(备注:按照定义,如果该进程在本地或网络驱动器的根目录中启动,则此属性的值为驱动器名称后跟一个尾部反斜杠(如“C:\”).如果该进程

IOS中获取各种文件的目录路径的方法

iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory()), 手动保存的文件在documents文件里 Nsuserdefaults保存的文件在tmp文件夹里 1.Documents 目录:您应该将所有de应用程序数据文件写入到这个目录下.这个目录用于存储用户数据或其它应该定期备份的信息. 2.AppName.app 目录:这是应用程序的程序包目录,

java获取它运行所在目录信息

对于Java程序,无论是未打包的还是打包的JAR或WAR文件,有时候都需要获取它运行所在目录信息,如何做到这一点呢?  在Java处理的文件系统中,目录的表示方式有两种:  (1)绝对目录,它以"/"为起始字符,代表从根目录下开始寻找给出的目录,如/c:/java  (2)相对路径,它以不带"/"的目录名表示,表示以当前Java程序正在运行的目录作为起始目录来寻找给出的目录.如java/classes.在相对路径中,有一些特定的字符,可以代表特的的目录,比如,&qu

ASP.NTE 5 Target framework dnx451 and dnxcore50(转)原文:http://www.cnblogs.com/xishuai/p/aspnet5-target-framework-dnx451-and-dnxcore50.html

中文不知如何定义标题,所以干脆就直接贴出关键字,在 ASP.NTE 5 项目的 project.json 配置文件中,会有这样的定义: "frameworks": { "dnx451": { }, "dnxcore50": { } } frameworks 配置的是什么东西?dnx451 和 dnxcore50 又是什么鬼? 可能了解过 ASP.NTE 5 的童鞋会知道,但如果再深入一些,就必须搞清楚 ASP.NTE 5 相关内容的来龙去脉,幸好

C#、ASP.NET获取当前应用程序的绝对路径

  Asp.net在类库中获取某文件的绝对路径.这个问题在初学的时候就经常碰到过,经常是查了忘,忘了查.浪费了大量的今天专门写个文章,以后到这里查.有时间顺便记得研究下这个东西. 在主程序目录就不说了Page.Server.MapPath(); 在类库里面,AppDomain.CurrentDomain.SetupInformation.ApplicationBase 这个属性加上文件相对于根目录的路径就OK了. static void Main(string[] args) { /* 使用 A

C# 如何获取当前应用程序的上一级路径

如我们所常知的那样, Server.MapPath() 属性可以获取应用程序的根目录 Server.MapPath 的使用方法 用法: 1.Server.MapPath ("/") 应用程序根目录所在的位置 如 C:\Inetpub\wwwroot\ 2.Server.MapPath ("./") 表示所在页面的当前目录 注:等价于Server.MapPath ("") 返回 Server.MapPath ("")所在页面的物

获取Web应用程序的根目录

一般在系统中(使用struts框架)如果要获取web应用程序的根目录都是通过 ServletActionContext.getServletContext().getRealPath(""); 来进行获取,但servletActionContext是struts2中的过滤器绑定的ThreadLocal变量,必须要经过FilterDispatcher才能够使用  否则获取参数可能会为空. 之前在系统系统中需要在定时任务中获取系统根目录再通过上面的方式就会出现异常,所以封装一个工具方法.工