如何在ASP.NET Core 1.0中获取bin文件夹

如何在ASP.NET Core 1.0中获取bin文件夹,asp.net,asp.net-mvc,asp.net-core-mvc,asp.net-core-1.0,Asp.net,Asp.net Mvc,Asp.net Core Mvc,Asp.net Core 1.0,在asp.net core 1.0中添加了许多功能。但没有办法获取Bin文件夹路径 任何人都可以知道我们如何获取asp.net core 1.0应用程序的bin文件夹路径。您无法真正获取/bin/文件夹,因为它与您的项目无关,并且asp.net环境不知道/bin/文件夹是什么 而且也没有确切的/bin/文件夹。您可能想阅读本文: 但您可以获得所谓的ApplicationBasePath,它是应用程序运行的目录: public Startup(IHostingEnvironment env, IA

在asp.net core 1.0中添加了许多功能。但没有办法获取Bin文件夹路径


任何人都可以知道我们如何获取asp.net core 1.0应用程序的bin文件夹路径。

您无法真正获取
/bin/
文件夹,因为它与您的项目无关,并且asp.net环境不知道
/bin/
文件夹是什么

而且也没有确切的
/bin/
文件夹。您可能想阅读本文:

但您可以获得所谓的
ApplicationBasePath
,它是应用程序运行的目录:

public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv)
{
     string baseDir = appEnv.ApplicationBasePath;
     // Other startup code
}

嗯,bin文件夹确实存在,但是它被移动到解决方案文件旁边的artifacts文件夹中。由于ASP.NET Core RC 1编译内存中的所有内容,您将发现空的bin文件夹。但如果您将“生成时生成输出”选项设置为true(右键单击项目文件->属性和生成选项卡),那么您将在bin文件夹中找到生成的文件

我不认为有任何直接属性可用于获取此路径,但您可以使用@Nikolay Kostov指出的相同解决方案来获取应用程序路径。然后使用System.IO类跳转到bin文件夹

此处提到的ASP.NET核心的代码更新为。


这用于检索程序集的目录,从中我们可以确定
bin
位置

var location = System.Reflection.Assembly.GetEntryAssembly().Location;
var directory = System.IO.Path.GetDirectoryName(location);
System.Console.WriteLine(directory);
输出

C:\MyApplication\bin\Debug\netcoreapp1.0
替代方式(对应于AppDomain.BaseDirectory):


AppDomain.CurrentDomain.BaseDirectory

它提供了一个带有src的文件夹,我不想这样做,因为这里没有一个
/bin/
文件夹。您可能想阅读本文:因此项目根是代码所在的位置started@JalpeshVadgama:这意味着您正在IDE中运行。
src
文件夹用于已发布的客户端脚本源。你认为ASP.NET把你的项目编译到的DLL放在哪里?如果在生成过程中复制要输出的内容(如SQL脚本),它会复制到
bin
文件夹中,并且要使用该SQL脚本,您需要知道脚本文件所在位置的完整磁盘路径。为什么需要bin文件夹?@MuqeetKhan一个原因是检索生成的XML文档文件。在我的本地环境中适用,但它能在Azure API服务上工作吗?
C:\MyApplication\bin\Debug\netcoreapp1.0
AppContext.BaseDirectory