wake-up-neo.com

Wie bekomme ich einen Ordner in ASP.NET Core 1.0?

Mit asp.net core 1.0 wurden viele Funktionen hinzugefügt. Es gibt jedoch keine Möglichkeit, den Ordnerordnerordner abzurufen. 

Kann jemand bitte wissen, wie wir den bin-Ordnerpfad für die asp.net core 1.0-Anwendung erhalten können.

16
Jalpesh Vadgama

Der bin-Ordner ist zwar vorhanden, wird aber in den artifacts-Ordner neben der Lösungsdatei verschoben. Da ASP.NET Core RC 1 alles im Speicher kompiliert, finden Sie leere Ordner. Wenn Sie jedoch die Option "Ausgabe beim Build erzeugen" auf "true" setzen (Rechtsklick auf Projektdatei -> Registerkarte "Eigenschaften" und "Erstellen"), finden Sie die generierten Dateien im Ordner bin.

Ich glaube nicht, dass es eine direkte Eigenschaft gibt, um den Pfad dafür zu erhalten, aber Sie können dieselbe Lösung verwenden, auf die @Nikolay Kostov hinweist, um den Anwendungspfad zu erhalten. Wenn Sie dann System.IO-Klassen verwenden, springen Sie in den Ordner bin.

Code für ASP.NET Core aktualisiert, wie hier erwähnt.

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);
}
10
VirendraJ

Dies funktioniert, um das Verzeichnis der Assembly abzurufen, aus dem wir die bin-Position ermitteln können.

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

Ausgabe

C:\MyApplication\bin\Debug\netcoreapp1.0
27
Shaun Luttin

Alternativer Weg (entspricht AppDomain.BaseDirectory):

AppContext.BaseDirectory
16
Rolf Kristensen

Sie können den Ordner /bin/ nicht wirklich abrufen, da er für Ihr Projekt nicht relevant ist und die ASP.NET-Umgebung nicht weiß, was ein Ordner /bin/ ist.

Und es gibt auch nicht genau einen /bin/-Ordner. Vielleicht möchten Sie diesen Artikel lesen: http://docs.asp.net/de/latest/conceptual-overview/understanding-aspnet5-apps.html

Sie können jedoch die sogenannte ApplicationBasePath erhalten, das Verzeichnis, in dem Ihre Anwendung ausgeführt wird:

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