使用 asp.net 核心 1.0 添加了很多功能。但是没有办法获取垃圾箱文件夹路径。
任何人都可以知道我们如何获取 asp.net 核心 1.0 应用程序的 bin 文件夹路径。
替代方式(对应于 AppDomain.BaseDirectory):
AppContext.BaseDirectory
这适用于检索程序集的目录,我们可以从中确定bin
位置。
var location = System.Reflection.Assembly.GetEntryAssembly().Location;
var directory = System.IO.Path.GetDirectoryName(location);
System.Console.WriteLine(directory);
输出
C:MyApplicationbinDebugnetcoreapp1.0
好吧,bin 文件夹确实存在,但它被移动到解决方案文件旁边的工件文件夹中。由于 ASP.NET Core RC 1编译内存中的所有内容,因此您会发现空的bin文件夹。但是,如果您将"生成时生成输出"选项设置为 true(右键单击项目文件 ->属性和构建选项卡),那么您将在 bin 文件夹中找到生成的文件。
我不认为有任何直接属性可用于获取此路径,但您可以使用 @Nikolay Kostov 指出的相同解决方案来获取应用程序路径。然后使用 System.IO 类跳转到bin文件夹。
代码更新为 ASP.NET 核心,如此处所述。
http://www.talkingdotnet.com/get-application-wwwroot-path-aspnet-core-rc2/
public Startup(IHostingEnvironment env, IApplicationEnvironment appenv)
{
string sAppPath = env.ContentRootPath;
string sRootPath = Path.GetFullPath(Path.Combine(sAppPath, @"...."));
string sBinFolderPath = @"artifactsbin" + appenv.ApplicationName;
string sBinPath = Path.Combine(sRootPath, sBinFolderPath);
}
您无法真正获取/bin/
文件夹,因为它与您的项目无关,并且 ASP.NET 环境不知道/bin/
文件夹是什么。
而且也没有确切的/bin/
文件夹。您可能想阅读这篇文章:http://docs.asp.net/en/latest/conceptual-overview/understanding-aspnet5-apps.html
但是你可以得到所谓的ApplicationBasePath
,这是你的应用程序运行的目录:
public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv)
{
string baseDir = appEnv.ApplicationBasePath;
// Other startup code
}
AppDomain.CurrentDomain.BaseDirectory;