使用asp.net core 1.0添加了许多功能。但是没有办法获得Bin Folder路径。
任何人都可以知道如何获取asp.net core 1.0应用程序的bin文件夹路径。
答案 0 :(得分:27)
This works to retrieve the assembly's directory, from which we can determine the bin
location.
var location = System.Reflection.Assembly.GetEntryAssembly().Location;
var directory = System.IO.Path.GetDirectoryName(location);
System.Console.WriteLine(directory);
Output
C:\MyApplication\bin\Debug\netcoreapp1.0
答案 1 :(得分:22)
替代方式(对应于AppDomain.BaseDirectory):
AppContext.BaseDirectory
答案 2 :(得分:10)
嗯,bin文件夹确实存在,但它被移动到解决方案文件旁边的工件文件夹。由于ASP.NET Core RC 1编译内存中的所有内容,因此您将找到空bin文件夹。但是,如果将“生成输出构建”选项设置为true(右键单击“项目文件” - >“>属性和构建”选项卡),则可以在bin文件夹中找到生成的文件。
我认为没有任何直接属性可以获得此路径,但您可以使用@Nikolay Kostov指出的相同解决方案来获取应用程序路径。然后使用System.IO类跳转到bin文件夹。
代码更新为ASP.NET Core,如此处所述。
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 = @"artifacts\bin\" + appenv.ApplicationName;
string sBinPath = Path.Combine(sRootPath, sBinFolderPath);
}
答案 3 :(得分:0)
您无法获得/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
}
答案 4 :(得分:0)
AppDomain.CurrentDomain.BaseDirectory;