update .net core startup

This commit is contained in:
Luke Pulverenti
2016-11-20 18:48:52 -05:00
parent 94e622e3a0
commit e297e90bce
9 changed files with 127 additions and 62 deletions

View File

@@ -39,19 +39,34 @@ namespace Emby.Server
/// </summary>
public static void Main(string[] args)
{
var options = new StartupOptions();
var options = new StartupOptions(Environment.GetCommandLineArgs());
var environmentInfo = new EnvironmentInfo();
var currentProcess = Process.GetCurrentProcess();
var baseDirectory = System.AppContext.BaseDirectory;
//var architecturePath = Path.Combine(Path.GetDirectoryName(applicationPath), Environment.Is64BitProcess ? "x64" : "x86");
string archPath = baseDirectory;
if (environmentInfo.SystemArchitecture == MediaBrowser.Model.System.Architecture.X64)
{
archPath = Path.Combine(archPath, "x64");
}
else if (environmentInfo.SystemArchitecture == MediaBrowser.Model.System.Architecture.X86)
{
archPath = Path.Combine(archPath, "x86");
}
else
{
archPath = Path.Combine(archPath, "arm");
}
//Wand.SetMagickCoderModulePath(architecturePath);
//var success = SetDllDirectory(architecturePath);
if (environmentInfo.OperatingSystem == MediaBrowser.Model.System.OperatingSystem.Windows)
{
SetDllDirectory(archPath);
}
var appPaths = CreateApplicationPaths(baseDirectory);
SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_sqlite3());
SetSqliteProvider();
var logManager = new NlogManager(appPaths.LogDirectoryPath, "server");
logManager.ReloadLogger(LogSeverity.Debug);
@@ -75,7 +90,12 @@ namespace Emby.Server
return;
}
RunApplication(appPaths, logManager, options);
RunApplication(appPaths, logManager, options, environmentInfo);
}
private static void SetSqliteProvider()
{
SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_sqlite3());
}
/// <summary>
@@ -171,7 +191,7 @@ namespace Emby.Server
/// <param name="appPaths">The app paths.</param>
/// <param name="logManager">The log manager.</param>
/// <param name="options">The options.</param>
private static void RunApplication(ServerApplicationPaths appPaths, ILogManager logManager, StartupOptions options)
private static void RunApplication(ServerApplicationPaths appPaths, ILogManager logManager, StartupOptions options, EnvironmentInfo environmentInfo)
{
var fileSystem = new ManagedFileSystem(logManager.GetLogger("FileSystem"), true, true, true);
@@ -185,7 +205,7 @@ namespace Emby.Server
fileSystem,
new PowerManagement(),
"emby.windows.zip",
new EnvironmentInfo(),
environmentInfo,
imageEncoder,
new CoreSystemEvents(),
new MemoryStreamFactory(),