diff --git a/SabreTools.Helper/Data/Globals.cs b/SabreTools.Helper/Data/Globals.cs index a533b038..1210fe76 100644 --- a/SabreTools.Helper/Data/Globals.cs +++ b/SabreTools.Helper/Data/Globals.cs @@ -1,4 +1,11 @@ -using System.Threading.Tasks; +using System.Reflection; +using System.Threading.Tasks; + +#if MONO +using System.IO; +#else +using Alphaleonis.Win32.Filesystem; +#endif namespace SabreTools.Helper.Data { @@ -8,6 +15,7 @@ namespace SabreTools.Helper.Data private static Logger _logger = null; private static int _maxDegreeOfParallelism = 4; + private static string _exeDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase); #endregion @@ -39,6 +47,13 @@ namespace SabreTools.Helper.Data }; } } + public static string ExeDir + { + get + { + return _exeDir; + } + } #endregion } diff --git a/SabreTools.Helper/Logger.cs b/SabreTools.Helper/Logger.cs index bdba0281..59f29041 100644 --- a/SabreTools.Helper/Logger.cs +++ b/SabreTools.Helper/Logger.cs @@ -1,5 +1,4 @@ using System; -using System.Reflection; using SabreTools.Helper.Data; @@ -33,7 +32,7 @@ namespace SabreTools.Helper private StreamWriter _log; // Private required variables - private string _basepath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase), "logs") + Path.DirectorySeparatorChar; + private string _basepath = Path.Combine(Globals.ExeDir, "logs") + Path.DirectorySeparatorChar; /// /// Initialize a console-only logger object diff --git a/SabreTools.Helper/Skippers/Skipper.cs b/SabreTools.Helper/Skippers/Skipper.cs index 7859837f..0dcd294d 100644 --- a/SabreTools.Helper/Skippers/Skipper.cs +++ b/SabreTools.Helper/Skippers/Skipper.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Globalization; -using System.Reflection; using System.Xml; using SabreTools.Helper.Data; @@ -31,7 +30,7 @@ namespace SabreTools.Helper.Skippers public string SourceFile; // Local paths - public static string LocalPath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase), "Skippers") + Path.DirectorySeparatorChar; + public static string LocalPath = Path.Combine(Globals.ExeDir, "Skippers") + Path.DirectorySeparatorChar; // Header skippers represented by a list of skipper objects private static List _list;