С asp.net core 1.0 Добавлена много функциональности. Но путь Bin Folder невозможен.
Кто-нибудь может знать, как мы можем получить путь к папке bin для приложения asp.net core 1.0.
С asp.net core 1.0 Добавлена много функциональности. Но путь Bin Folder невозможен.
Кто-нибудь может знать, как мы можем получить путь к папке bin для приложения asp.net core 1.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 = @"artifacts\bin\" + appenv.ApplicationName;
string sBinPath = Path.Combine(sRootPath, sBinFolderPath);
}
Это работает для извлечения каталога сборки, из которого мы можем определить расположение 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):
AppContext.BaseDirectory
Вы не можете получить папку /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
}